简单记录一下吧,这是在CSDN发布的第一篇文章,在这之前一直都是记录在自己搭建的博客里,也希望在这里与各位大佬多多交流学习!
原文链接:大一C语言程序设计试题解析[试题详解]-星雨博客
1.下面程序的输出是(D)
#include <stdio.h>
void main()
{
int k = 11;
printf("K=%d,k=%o,k=%x\n", k, k, k);
}
A. k=11 , k=12 , k=11 | B. k=11 , k=13 , k=13 |
C. k=11 , k=013 , k=oxb | D. k=11 , k=13 , k=b |
2.在下列选项中,不正确的赋值语句是(D)
A. ++t; | B. n1=(n2=(n3=0)); |
C. k=i=j; | D. a=b+c=1; |
3.下面合法的C语言字符常量是(A)
4. 表达式:10!=9 的值是(D)
5.C语言提供的合法的数据类型关键字是(B)
A. Double | B. short |
C integer | D. Char |
6.字符(char)
型数据在微机内存中的存储形式是(D)
A. 反码 | B. 补码 |
C. EBCDIC码 | D. ASCII码 |
7.C语言程序的基本单位是(C)
8.设int a = 12
,则执行完语句a+=a-=a*a
后,a的值是(D)
A. 552 | B. 264 |
C. 144 | D. -264 |
9.执行下面程序中的输出语句后,输出结果是(B)
#include <stdio.h>
void main()
{
int a;
printf("%d\n", (a = 3 * 5, a * 4,a + 5));
}
10.下面程序的输出是(B)
#include <stdio.h>
void main()
{
int x = 023;
printf("%d\n", --x);
}
11.下面程序的输出的是(C)
#include <stdio.h>
void main()
{
int x = 10, y = 3;
printf("%d\n", y = x / y);
}
12.已知字母A的ASCII码为十进制的65
,下面程序的输出是(A)
#include <stdio.h>
void main()
{
char ch1, ch2;
ch1 = 'A' + '5' - '3';
ch2 = 'A' + '6' - '3';
printf("%d,%c\n", ch1, ch2);
}
A. 67,D | B. B,C |
C. C,D | D. 不确定的值 |
13. 若要求在if
后一对圆括号中表示a
不等于0
的关系,则能正确表示这一关系的表达式为(D)
14.以下程序的输出结果是(D)
#include <stdio.h>
void main()
{
int x = 10, y = 10;
printf("%d%d\n", x--, --y);
}
A. 10 10 | B. 9 9 |
C. 9 10 | D. 10 9 |
15.设有如下定义:int x =10 , y=3,z;
则语句printf("%d\n",z=(x%y,x/y));
的输出结果是(B)
16.为表示关系x≥y≥z
,应使用C语言表达式(A)
A. (X>=Y)&&(Y>=Z) | B. (X>=Y)AND(Y>=Z) |
C. (X>=Y>=Z) | D. (X>=Y)&(Y>=Z) |
17.C语言中非空的基本数据类型包括(B)
A. 整数,实型,逻辑型 | B. 整型,实型,字符型 |
C. 整型,实型,逻辑型 | D. 整型,实型,逻辑型,字符型 |
18.若x和y都是int型变量,x=100,y=200
,且有下面的程序片段。printf("%d",(x,y));
上面程序片段的输出结果为(A)
A. 200 | B. 100 |
C. 100 200 | D. 输出格式符不够,输出不确定的值 |
19.阅读下面的程序,如果在键盘上输入abc<回车>
,则程序的运行结果是(A)
#include <stdio.h>
void main()
{
char ch;
scanf_s("%3c", &ch);
printf("%c", ch);
}
20.阅读下面的程序,则程序的运行结果是(D)
#include<stdio.h>
void main()
{
int i, j;
i = 010;j = 9;
printf("%d,%d", i-j, i + j);
}
A. 1,19 | B. -1,19 |
C. 1,17 | D. -1,17 |
21.阅读下面的程序,程序的运行结果是(C)
#include <stdio.h>
void main()
{
int i, j, m, n;
i = 8; j = 10;
m = ++i; n = j++;
printf("%d,%d,%d,%d", i, j, m, n);
}
A. 8,10,8,10 | B. 9,10,8,11 |
C. 9,11,9,10 | D. 9,10,9,11 |
22.已知 a=12
,则表达式 a+=a-=a*=a
的结果是(A)
23.若已定义 int a
,则表达式 a=10,a+10,a++
的值是(B)
24.阅读下面的程序,如果从键盘上输入1234567<回车>
,则程序的运行结果是(D)
#include <stdio.h>
void main()
{
int i, j;
scanf_s("%3d%2d", &i, &j);
printf("i=%d,j=%d\n", i, j);
}
A. i=123,j=4567 | B. i=1234,j=567 |
C. i=1,j=2 | D. i=123,j=45 |
25.下面程序的输出结果是(D)
#include <stdio.h>
void main()
{
int a = -1, b = 4, k; k = (++a <= 0) && (b-- <= 0);
printf("%d,%d,%d\n", k, a, b);
}
A. 1,1,2 | B. 1,0,3 |
C. 0,1,2 | D. 0,0,3 |
26.下面程序的输出结果是(A)
#include <stdio.h>
void main()
{
int a = 5, b = 3;
float x = 3.14, y = 6.5;
printf("%d,%d\n", a + b != a - b, x <= (y -= 6.1));
}
27.执行下面程序段后,输出结果是(A)
#include <stdio.h>
void main()
{
int a;
int b = 65536; a = b;
printf("%d\n", a);
}
28.若有以下定义和语句,则输出结果为(B)
#include <stdio.h>
void main()
{
int a = 010,b = 0x10, c = 10;
printf("%d,%d,%d\n", a, b, c);
}
A. 10,10,10 | B. 8,16,10 |
C. 8,10,10 | D. 8,8,10 |
29.已知有double
型变量 x=2.5,y=4.7
,整型变量 a=7
,则表达式x+a%3*(int)(x+y)%2/4
的值(B)
30.若定义x
和y
是整型变量,x=2;
,则表达式y=2.75+x/2
的值是(C)
31.以下程序的输出结果是(D)
#include <stdio.h>
void main()
{
int a = 12, b = 12;
printf("%d,%d\n", --a, ++b);
}
A. 10,10 | B. 12,12 |
C. 11,10 | D. 11,13 |
32. 有以下语句:int x = 10; x += 3 + x % (3)
,则 x
的值是(A)
33.若 d 为 double
型变量,则表达式 d = 1 ,d + 5 ,d++
的值是(C)
34. 表达式 5!= 3
的值是(D)
35. 若有定义 int a = 12,n = 5
,则表达式 a % = (n % 2)
,运算后,a
的 值(A)
36.若有定义 int x = 3,y = 2
和 float a = 2.5,b = 3.5
,则表达式: (x + y) % 2 + (int) a / (int) b
的值是(D)
37、在C语言中,以下叙述不正确的是(A)
A. 在C程序中,无论是整数还是实数,都能被准确无误的表示 |
B. 在C程序中,变量名代表存储器中的一个位置 |
C. 静态变量的生存期与整个程序的生存期相同 |
D. C语言中变量必须先定义后引用 |
38.C语言中的变量名只能由字母,数字和下划线三种字符组成.且第一个字符(C)
A. 必须为字母 |
B. 必须为下划线 |
C. 必须为字母或下划线 |
D. 可以是字母,数字或下划线中的任意一种 |
39.设有说明: char w ; int x ; float y ; double z;
则表达式: w * x + z - y
值的数据类型是(D)
A. float | B. char |
C. int | D. double |
40、一个C语言的执行是从(A)
A. 本程序的主函数开始,到本程序的主函数结束 |
B. 本程序的第一个函数开始,到本程序的最后一个函数结束 |
C. 本程序的主函数开始,到本程序的最后一个函数结束 |
D. 本程序的第一个函数开始,到本程序的主函数结束 |
41.设a为整型变量,不能正确表达数学关系10<a<15
的C语言表达式是
A. 10<a<15 | B. a==11 || a==12 || a==13 || a==14 |
C. a>10&&a<15 | D. !(a<=10)&&!(a>=15) |
42.下列程序执行后的输出结果是(C)
#include <stdio.h>
void main()
{
int a = 5, b = 60, c;
if (a < b)
{
c = a * b;;
printf("%d*%d=%d\n", b, a, c);
}
else
{
c = b / a;
printf("%d/%d=%d\n", b, a, c);
}
}
A. 60 / 5 = 12 | B. 300 |
C. 60 * 5 = 300 | D. 12 |
43.如果c为字符型变量,判断c是否为空格,(假设已知空格 ASCI码为32)不能使用(C)
A. if (c == '32') | B. if (c == 32) |
C. if (c == '\40') | D. if(c == ' ') |
44. 运行下面程序时,若从键盘输入"3,5<CR>"
,则程序的输出结果是(D)
#include <stdio.h>
void main()
{
int x, y;
scanf_s("%d,%d", &x, &y);
if (x == y)printf("x==y");
else if (x > y)printf("x > y");
else printf("x<y");
}
A. 3 < 5 | B. 5 > 3 |
C. x > y | D. x < y |
45.运行下面的程序时,若从键盘输入数据为“6,5,7<CR>",则输出结果是(C)
#include <stdio.h>
void main()
{
int a, b, c;
scanf_s("%d,%d,%d", &a, &b, &c);
if (a > b)
if (a > c)
printf("%d\n", a);
else
printf("%d\n", c);
else if (b > c)
printf("%d\n",b);
else printf("%d\n", c);
}
46.执行下面程序时,若从键盘输入”2<CR>",则程序的运行结果是(A)
#include <stdio.h>
void main()
{
int k;
char cp;
cp = getchar();
if (cp >= '0' && cp <= '9')
k = cp - '0';
else if (cp >= 'a' && cp <= 'f')
k = cp - 'a' + 10;
else k = cp - 'A' + 10;
printf("%d\n", k);
}
47.运行下面程序时,从键盘输入“2.0<CR>",则输出结果是(B)
#include <stdio.h>
void main()
{
float a, b;
scanf_s("%f", &a);
if (a < 0.0)
b = 0.0;
else if ((a < 0.5) && (a != 2))
b = 1.0 / (a + 2.0);
else if (a < 10.0)
b = 1.0 / 2;
else b = 10.0;
printf("%f\n", b);
}
A. 0.000000 | B. 0.500000 |
C. 1.000000 | D. 0.250000 |
48.执行下面程序后,运行结果是(A)
#include <stdio.h>
void main()
{
int x = 41, y = 1;
if (x % 3 == 0 && x % 7 == 0)
{
y += x;
printf("y=%d\n", y);
}
else
{
y = x;
printf("y=%d", y);
}
}
A. y=41 | B. y=43 |
C. y=42 | D. y=1 |
49.运行下面程序时,从键盘输入”12,34,9<CR>",则输入结果是(C)
#include <stdio.h>
void main()
{
int x, y, z;
scanf_s("%d,%d,%d", &x, &y, &z);
if (x < y)
if (y > z)
printf("%d\n", z);
else
printf("%d\n", y);
else if (x < z)
printf("%d\n", z);
else
printf("%d\n", x);
}
50.运行下面程序时,从键盘输入字母H,则输出结果是(C)
#include <stdio.h>
void main()
{
char ch;
ch = getchar();
switch (ch)
{
case 'H':
printf("Hello!\n");
case 'G':
printf("Good morning!\n");
default :
printf("Bye_Bye!\n");
}
}
A. Hello! |
B. Hello! Good morning! |
C. Hello! Good morning! Bye_Bye! |
D. Hello! Bye_Bye! |
51. 执行下列此程序段后的输出结果是(A)
#include <stdio.h>
void main()
{
int x = 1, y = 1, z = 1;
x += y += z;
printf("%d\n", x < y ? y : x);
}
52.设ch是char型变量,值为‘A’
,则表达式ch = (ch >= 'A' && ch <= 'Z') ? ch + 32 : ch;
的值是(B)
53. 下面程序的输出结果是(C)
#include <stdio.h>
void main() {
int x=8, y=7, z=9;
if (x < y)
z = 0;
else
z = 1;
printf("%d\n", z);
}
54.运行下面程序时,若从键盘输入“5<CR>”,则程序的输出结果是(B)
#include <stdio.h>
void main() {
int a;
scanf_s("%d", &a);
if (a++ > 5)
printf("%d\n", a);
else
printf("%d\n", a--);
}
55.运行下面程序时,若从键盘输入“3, 4<CR>”,则程序的输出结果是(B)
#include <stdio.h>
void main() {
int a, b, s;
scanf_s("%d, %d", &a, &b);
s = a;
if (s < b)
s = b;
s = s * s;
printf("%d\n", s);
}
56.下列程序的执行结果是(D)
#include <stdio.h>
void main() {
int x = 0, y = 1, z = 0;
if (x = z = y)
x = 3;
printf("%d,%d\n", x, z);
}
57.假定等级和分数有以下对应关系,等级:A 分数 :85~100,等级:B分数:60~84,等级:C分数:60以下,对于等级grade输出相应的分数区间,能够完成该功能的程序是(D)

A. switch (grade) case 'A': printf("85--100\n"); case 'B': printf("60--84\n"); case 'C': printf("60以下\n"); default: printf("等级错误!"\n); | B. switch (grade) case 'A': printf("85--100\n"); break; case 'B' : printf("60--84\n"); case 'C': printf("60以下\n"); default: printf("等级错误!"\n); |
C. switch (grade) case 'A': printf("85--100\n"); break; case 'B': printf("60--84\n"); break; case 'C': printf("60以下\n"); default: printf("等级错误!"\n); | D. switch (grade) case 'A': printf("85--100\n"); break; case 'B': printf("60--84\n"); break; case 'C': printf("60以下\n"); break; default: printf("等级错误!"\n); |
58.能够完成如下函数计算的程序段是(B)
![图片[1]-大一C语言程序设计试题解析[试题详解]-星雨博客](https://img-blog.csdnimg.cn/img_convert/4f9091774c5ce6170d5547912ec4721e.webp?x-oss-process=image/format,png)
A. y = 1; if (x != 1) if (x > 0) y = 1; else y = 0; | B. if (x >= 0) if (x > 0) y = 1; else y = 0; else y = -1; |
C. y = 0; if (x >= 0) if (x > 0) y = 1; else y = 0; | D. y = -1; if (x > 0) y = 1; else y = -1; |
59.有如下程序,该程序的输出结果是(C)
#include <stdio.h>
void main() {
float x = 5.0, y;
if (x < 0.0)
y = 0.0;
else if (x < 10.0)
y = 1.0 / x;
else
y = 1.0;
printf("%f\n", y);
}
A. 0.000000 | B. 0.50000 |
C. 0.200000 | D. 1.000000 |
60.以下程序的执行结果是(B)
#include <stdio.h>
void main() {
int x = 1, y = 0;
switch (x) {
case 1: switch (y) {
case 0: printf("first\n"); break;
case 1: printf("second\n"); break;
}
case 2: printf("third\n");
}
}
A. first second | B. first third |
C. first | D. second third |
更多内容请前往:大一C语言程序设计试题解析[试题详解]-星雨博客