1. 下列四组选项中,均不是C语言关键字的选项是()。
A) define、IF、type
B) gect、char、printf、go、type、scanf、case、pow
C) include、scanf、case
D) while、go、pow
2. 若有以下定义,则能使值为3的表达式是()。(题干中定义内容缺失,结合选项推测原定义可能为“int k=7,x=12;”)
A) x%=(k%=5)
B) x%=(k-k%5)
C) x%=k-k%5
D) (x%=k)-(k%=5)
3. 判断char型变量c1是否为小写字母的正确表达式为()。
A) 'a'<=c1<='z'
B) (c1>='A')&&(c1<='z')
C) (c1>='a')||(c1<='z')
D) (c1>='a')&&(c1<='z')
4. 在C语言中,如果下面变量都是int型,则输出的结果是()。
int sum=pad=5; pad=sum++, pad++, ++pad;
printf("%d\n",pad);
A) 7
B) 6
C) 5
D) 4
5. 设有程序段如下:
int k=10;
while (k=0) k=k-1;
则下面描述中正确的是()。
A) while循环执行10次
B) 循环是无限循环
C) 循环体语句一次也不执行
D) 循环体语句执行一次
6. 在C语言程序中,表达式7%4的结果是()。
A) 2.5
B) 2
C) 1
D) 3
7. 如果int a=7, b=2;则条件表达式“a<b? a:b”的值是()。
A) 2
B) 7
C) 0
D) 1
8. 以下叙述中正确的是()。
A) a是实型变量,C语言允许进行以下赋值a=10,因此可以这样说:实型变量中允许存放整型值
B) 在赋值表达式中,赋值号右边既可以是变量也可以是任意表达式
C) 执行表达式a=b后,在内存中a和b存储单元中的原有值都将被改变,a的值已由原值改变为b的值,b的值由原值变为0
D) 已有a=3,b=5,当执行了表达式a=b, b=a之后,已使a中的值为5,b中的值为3
9. 以下程序的运行结果是()。
#include<stdio.h>
main()
{
int a,b,c,s,w,t;
s=w=t=0;
a=-1; b=3; c=3;
if (c>0)
s=a+b;
if (a<=0)
{
if (b>0)
if (c<=0)
w=a-b;
}
else
if (c>0)
w=a-b;
else
t=c;
printf("%d %d %d", s,w,t);
}
A) 1 0 0
B) 0 2 2
C) 2 1 0
D) 2 0 0
10. 请选出以下程序的输出结果()。
#include<stdio.h>
sub(int x,int y,int *z)
{
*z=y-x;
}
main()
{
int a,b,c;
sub(10,5,&a);
sub(7,a,&b);
sub(a,b,&c);
printf(" %d,%d,%d\n ",a,b,c);
}
A) 5,2,3
B) -5,-12,-7
C) -5,-12,-17
D) 5,-1,-7
11. 对于整型变量x,下述语句()与赋值句:x=x%2==0 ? 1 :0;不等价。
A) if(x%2!=0)x=0;else x=1;
B) if(x%2)x=1;else x=0;
C) if(x%2==0)x=1;else x=0;
D) if(x%2==1)x=0;else x=1;
12. 以下叙述中,正确的是()。
A) 宏展开不占用运行时间,只占用编译时间
B) 预编译处理命令行必须以分号结束
C) 一个源程序只能有一个预编译处理命令行
D) 使用带参数的宏定义时,应该说明每个参数的数据类型
13. 以下程序段运行后*(++p)的值为()。
char a[6]="work";
char *p;
p=a;
A) 'w'
B) 存放'w'的地址
C) 'o'
D) 存放'o'的地址
14. 设已定义x为double类型变量x=213.82631; printf("%-6.2e\n",x);则以上语句()。
A) 输出格式描述符的域宽不够,不能输出
B) 输出为21.38e+01
C) 输出为2.14e+02
D) 输出为-2.14e2
15. 以下不正确的语句(设有int p,q)是()。
A) p*=3;
B) p/=q;
C) p=(q=5, q+5);
D) p+=p;(选项D内容缺失,根据常见题型补充推测)
16. 若a为整型变量,则以下语句(a=-2L; printf("%d\n",a);)的结果是()。
A) 赋值不合法
B) 输出值为-2
C) 输出为不确定值
D) 输出值为2
17. 设a为整型变量,初值为12,执行完语句a+=a-=a*a后,a的值是()。
A) 552
B) 144
C) 264
D) -264
18. 若变量都已正确说明,则以下程序段输出为()。
int a=1,b=2,c=3;
if(a>b)
a=b;
b=c;
c=a;
printf("a=%d b=%d c=%d\n",a,b,c);
A) a=1 b=2 c=1
B) a=1 b=2 c=3
C) a=1 b=3 c=1
D) a=2 b=3 c=2
19. 设有程序段:
t=0;
while(printf("*"))
{
t++;
if (t<3) break;
}
下面描述正确的是()。
A) 其中循环控制表达式与0等价
B) 其中循环控制表达式与'0'等价
C) 其中循环控制表达式是不合法的
D) 以上说法都不对
20. 设ch是char型变量,其值为'Z',且有下面的表达式,其值为()。
ch=(ch>='A'&&ch<='Z')?(ch+32):ch
A) 'A'
B) 'a'
C) 'Z'
D) 'z'
21. 下列运算符中,不属于关系运算符的是()。
A) <
B) >=
C) !
D) !=
22. 若struct teacher{
int num;
char name[10];
char sex;
int age;
float score;
}teacher1;
则变量teacher1所占用的内存字节是()。(按32位系统计算,int占4字节,char占1字节,float占4字节)
A) 5
B) 14
C) 19
D) 20
23. 以下C语言共用体类型数据的描述中,不正确的是()。
A) 共用体变量占的内存大小等于所需内存最大的成员所占的内存
B) 共用体类型可以出现在结构体类型定义中
C) 在定义共用体变量的同时允许对一个成员的值进行初始化
D) 同一共用体中各成员的首地址不相同
24. 若有定义:
struct node{
int date;
struct node *next;
};
函数:
void fun(struct node *head)
{
struct node *p=head;
while(p)
{
struct node *q=p->next;
free(p);
p=q;
}
}
则该函数的功能是()。
A) 删除整个单向链表
B) 删除单向链表中的一个结点
C) 显示单向链表中的所有数据
D) 创建单向链表
25. 若有定义:int a=20, b=28, c;则执行语句c=(a&b)>>2;后C的值为()。
A) 5
B) 7
C) 80
D) 112
26. 以下叙述正确的是()。
A) C语言中的文件是流式文件,因此只能顺序存取数据
B) 打开一个已存在的文件进行了写操作后,原有文件中的全部数据必定被覆盖
C) 在一个程序中当对文件进行了写操作后,必须先关闭该文件然后再打开,才能读到第一个数据
D) 当对文件的写操作完成之后,必须将它关闭,否则可能导致数据丢失
27. 以下使i的运算结果为4的表达式是()。(题干中选项缺失,推测常见选项如“int i=3; i++;”“int i=5; i-=1;”等,需结合完整选项判断)
28. 设int n=3;则++n的结果是()。
A) 2
B) 3
C) 4
D) 5
29. 已知char a;使用scanf()函数输入一个字符给变量a,不正确的函数调用是()。
A) scanf("%d",&a);
B) scanf("%lf",&a);
C) scanf("%c",&a);
D) scanf("%u",&a);
30. 逻辑运算符两侧运算对象的数据类型是()。
A) 只是0或1
B) 只能是0或非0正数
C) 只能是整型或字符型数据
D) 可以是任何类型数据
31. 以下符号中不能用作用户标识符的符号是()。
A) _256
B) void
C) scanf
D) Struct
32. C语言提供的合法的数据类型关键字是()。
A) Double
B) short
C) integer
D) Char
33. 设int n=3;则有表达式n++,n的结果是()。
A) 2
B) 3
C) 4
D) 5
34. 执行x=5>1+2&&2||2*4<4-10后,x的值为()。
A) -1
B) 0
C) 1
D) 5
35. 对于scanf("a=%d", &a),设a为整型变量,输入5,其输出可为()。(题干选项不完整,推测正确输入应为“a=5”,输出为变量a的值5)
A) a=5
B) 5
C) 出错
D) 不确定
36. 以下能对一维数组a进行正确初始化的语句是()。(题干选项缺失,常见正确选项如“int a[]={1,2,3};”“int a[5]={0};”等)
37. 标准函数fgets(s, n, f)的功能是()。
A) 从文件f中读取长度为n的字符串存入指针s所指的内存
B) 从文件f中读取长度不超过n-1的字符串存入指针s所指的内存
C) 从文件f中读取几个字符存入指针s所指的内存
D) 从文件f中读取长度为n-1的字符串存入指针s所指的内存
38. C语言中函数返回值的类型是由()决定的。
A) 函数定义时指定的类型
B) return语句中的表达式类型
C) 调用该函数时的实参的数据类型
D) 形参的数据类型
39. 在C语言中,表示静态存储类别的关键字是()。
A) auto
B) register
C) static
D) extern
40. 下列表达式的值,哪一个等于0()。
A) 5%6
B) 5/6
C) 5/6.0
D) 5-6
41. 设有如下定义:
struct sk
{
int a;
float b;
}data;
int *p;
若要使p指向data中的a域,正确的赋值语句是()。
A) p=&data;
B) p=data.a;
C) p=&data.a;
D) *p=data.a;
42. 算术运算符、赋值运算符和关系运算符的运算优先级按从高到低依次为()。
A) 算术运算、赋值运算、关系运算
B) 算术运算、关系运算、赋值运算
C) 关系运算、赋值运算、算术运算
D) 关系运算、算术运算、赋值运算
43. 有以下程序:
main()
{
int k=5,n=0;
while(k>0)
{
switch(k)
{
default : break;
case 1: n+=k;
case 2:
case 3: n+=k;
}
k--;
}
printf("%d\n",n);
}
程序运行后的输出结果是()。
A) 0
B) 4
C) 6
D) 7
44. C语言中函数的隐含存储类型是()。
A) auto
B) static
C) extern
D) 无存储类型
45. 以下函数调用语句中,含有实参的个数为()。
fun((2,3),(4,5+6,7));
A) 1
B) 2
C) 5
D) 6
46. 在C语言中,下列哪个字符为合法的字符常量()。
A) '\084'
B) '\x43'
C) 'ab'
D) '\0'
47. 已定义x为float型变量x=213.82631; printf("%-4.2f\n",x);则以上语句()。
A) 输出格式描述符的域宽不够,不能输出
B) 输出为213.83
C) 输出为213.82
D) 输出为-213.82
48. 下列运算符中优先级最高的是()。
A) <
B) +
C) &&
D) !=
49. 下列能正确输入字符数组a的语句是()。
A) scanf("%s",a);
B) scanf("%s",&a);
C) scanf("%c",a);
D) 循环执行scanf("%c",&a[i]);(需确保循环范围正确,如for(i=0;i<N;i++))
50. 以下程序输出结果是()。
main()
{
int m=5;
if(m++>5)
printf("%d\n",m);
else
printf("%d\n",m--);
}
A) 7
B) 6
C) 5
D) 4
51. 以下程序的输出结果是()。
main()
{
int i=0, j=0, k=6;
if ((++i>0)||(++j>0))
k++;
printf("%d, %d, %d\n", i, j, k);
}
A) 0, 0, 6
B) 1, 0, 7
C) 1, 1, 7
D) 0, 1, 7
52. 以下不是无限循环的语句为()。
A) for(y=0,x=1;x>++y;x=i++) i=x;
B) for( ; ;x++=i);
C) while(1){x++;}
D) for(i=10; ; i--) sum+=i;
53. 以下不正确的描述是()。
A) break语句不能用于循环语句和switch语句外的任何其他语句
B) 在switch语句中使用break语句或continue语句的作用相同
C) 在循环语句中使用continue语句是为了结束本次循环,而不是终止整个循环的执行
D) 在循环语句中使用break语句是为了使流程跳出循环体,提前结束循环
54. 以下程序运行后,屏幕显示下列说法正确的是()。
#include<stdio.h>
main()
{
FILE *fp;
fp=fopen("data.txt","wt");
if(fp!=NULL)
{
fprintf(fp,"%s\n","File write successed!\n");
fclose(fp);
printf("write ok!\n");
}
}
A) 当前工作目录下存在data.txt文件,其中内容是“write ok!”
B) fclose(fp);语句的功能是打开文件
C) 当前工作目录下一定不存在data.txt文件
D) 当前工作目录下一定存在data.txt文件
55. 已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2='A'+'6'-'3'后,c2中的值为()。
A) 'D'
B) 68
C) 不确定的值
D) 'C'
56. 若t为double类型,表达式t=1, t+5, t++的值是()。
A) 1
B) 6.0
C) 2.0
D) 1.0
57. 在C语言中,逻辑值“真”的表示是用()。
A) true
B) 整型值0
C) 非0整型值
D) T
58. 用getchar函数可以从键盘读入一个()。
A) 整型变量表达式值
B) 实型变量值
C) 字符串
D) 字符或字符型变量值
59. 如下的数组中,数组array占用的内存空间是()个字节。char array[]={'c','h','i','n','a'};
A) 1
B) 5
C) 6
D) 不确定
60. 在C语言的if语句中,用作判断的表达式为()。
A) 关系表达式
B) 逻辑表达式
C) 算术表达式
D) 任意表达式
最新发布