1.main( )函数的位置(D)。
A.必须在自定义函数后面 B.必须在自定义函数前面
C. 必须位于程序的最前面 D. 可以在自定义函数后面
2. (A)为正确的变量名。
A. k_5 B. k.jeep C. -k15 D. int
3. 若有定义 int a,x; 则语句 a=(x=8,x+8); 运行后,变量a、x的值依次为(D)。
A.8, 16 B.16, 16 C.8, 8 D.16, 8
4. 设整型变量x为7,使整型变量y不为2的表达式是(A)。
A. y=x%3 B. y=8-(--x) C. y =(++x)/3 D. y = x/3
5. 已有定义 char s; 使用scanf( )函数输入一个字符给变量s,不正确的函数调用是(A)。
A. scanf("%lf",&s) ; B. scanf("%u",&s) ; C. scanf("%c",&s) ;D. scanf("%d",&s) ;
6. 若定义 int a=2,b=3; 则表达式 !a||b 的值为(B)。
A. 3 B.1 C.2 D.0
7. 若已定义 int m=7;float k=5.5; 则表达式 k+ m%2/4 的值为(B)
A.6.375 B.5.5 C.5.75 D.6.75
8. 若已定义 int a=1,b=2,t=3; 则执行以下程序段后变量a,b,t的值分别为(D )。
if(a<b)
{ t=b; b=a; a=t;
}
A. a=2,b=1,t=3 B. a=2,b=1,t=1
C. a=3,b=1,t=2 D. a=2,b=1,t=2
9. 在循环语句的循环体中,break语句的作用是(A)。
A. 提前结束循环,接着执行该循环后续的语句
B. 暂停程序的运行
C. 继续执行break语句之后的循环体各语句
D. 结束本次循环
10. 数组元素下标的数据类型为( A)。
A.整型常量、字符型常量或整型表达式.
B. 实型常量或实型表达式
C. 任何类型的表达式
D. 字符串常量
11. 若有定义:int s[3][4]={{1,2},{0},{3,4,5}};则s[2][1]的值为(D)。
A.3 B.0 C.1 D.4对于 c 语言中的字符串常量说法正确的是?
12. 有如下定义:
char str[10]={ "National"};
则分配给数组str的存储空间是(D)个字节。
A.11 B.8 C.9 D.10
13 以下程序运行后输出结果是(C)。
void fun(int i)
{ int m=2;
m=i++;
printf("%d ",m);
}
main()
{ int m=7,n=5;
fun(n);
printf("%d",m);
}
A.6 7 B.5 5 C.5 7 D.6 6
14. 以下程序运行后输出结果是(D)。
#define MIN(m,n) m<n?m:n
main()
{ int a=3,b=5,c;
c=2*MIN(a,b);
printf("%d",c);
}
A.10 B.6 C.3 D.5
15. 有以下语句:
int a[5]={0,1,2,3,4,5},i;
int *p=a;
设0≤i<5,对a数组元素不正确的引用是(B)。
A. a[p-a] B. *(*(a+i)) C. *(&a[i]) D. p[i]
16. 若有以下程序段,则不能正确访问数组元素a[1][2]的是(C)。
int (*p)[3];
int a[ ][3]={1,2,3,4,5,6,7,8,9};
p = a;
A. p[1][2] B. (*(p+1))[2] C. p[1]+2 D. *(*(a+1)+2)
17. 以下程序段的运行结果是( D)。
union
{ int n;
char str[2];
}t;
t.n=80;
t.str[0]='a';
t.str[1]=0;
printf("%d\n", t.n);
A.a B.80 C.0 D.97
18. 若有以下定义:
struct node
{ int data;
struct node *next;
};
struct node *p;
已建立如下图所示的链表:
┌──┬──┐ ┌──┬──┐ ┌──┬──┐
p →│data│next┼→│data│next┼→...─→│data│NULL│
└──┴──┘ └──┴──┘ └──┴──┘
指针p指向第一个结点,能输出链表所有结点的数据成员data的循环语句是(C)。
A. for( ; p; p=p->next)
printf("%d,", (*p).data);
B. for( ; p!=NULL; p++)
printf("%d,", p->data);
C. while(p)
{ printf("%d,", p.data);
p=p->next;
}
D. while(p!=NULL)
{ printf("%d,",p->data);
p++;
}
19. 若有定义:int m=7,n=10,k; 则执行语句k=m&n;后k的值为(B)。
A.1 B.2 C.17 D.15
20. 对于以下程序,说法正确的是(B)。
#include <stdio.h>
main()
{ FILE *fp;
fp=fopen("", "w");
if(fp!=NULL)
{ fprintf(fp,"%s\n", "success!");
fclose(fp);
printf("ok!");
}
}
A.程序运行之前,当前工作目录下一定存在文件
B.程序运行后,当前工作目录下存在文件,其中的内容是"success!"
C.程序运行后,当前工作目录下存在文件,其中的内容是"ok!"
D.程序运行之前,当前工作目录下一定不存在文件
21.C语言函数体由(C)括起来。
A.[ ] B.( ) C. { } D. < >
22. 下面叙述中,错误的是(C)。
A. 自增与自减运算符的结合方向为“自右至左”
B. C语言中的表达式求值,是按其运算符的优先级先高后低的次序进行
C. C语言算术运算符不包含模运算符“%”
D. 关系运算符的优先级低于算术运算符
23. 函数putchar( ) 的功能是向终端输出(B)。
A. 一个关系表达式 B. 一个字符
C. 一个实型变量值 D. 多个字符
24. 判定逻辑值为“真”的最准确叙述是(D)。
A. 1 B. 大于0的数 C. 非0的整数 D. 非0的数
25. 设已定义 float a=2.0,b=3.0; 使a值为5.0的表达式是(A)。
A. a+= b B. a*=b+2.0 C. a-=b+2.0 D. a/=b+2.0
26. 以下程序运行的结果是(D)。
void main()
{int x,y,z,a;
x=y=z=1;a=15;
if(!x)
a--;
else if(y)
;
if(z)
a=3;
else
a+=4;
printf("%d\n",a);
}
A. 14 B. 19 C. 15 D. 3
27. 以下程序段运行后,循环体运行的次数为(B)。
int i=8,a=0;
for ( ;i<8;i++)
a+= i;
A. 无限 B. 0次 C. 8次 D. 1次
28. ( B)是正确的数组定义。
A. int n;
scanf("%d",&n);
int x[n];
B. int x[10];
C. int N=10;int x[N];
D. int n=10,x[n];
29. 不能对二维数组a进行正确初始化的语句是(C)。
A. int a[3][2]={1,2,3,4,5}; B. int a[3][2]={{1},{2,3},{4,5}};
C. int a[3][2]={{1,2,3},{4,5,6}}; D. int a[][2]={{1,2},{3,4},{5,6}};
30. 以下程序段运行后a的值为(C)。
int a=2;
char s1="passion",s2=s1;
a=strcmp(s1,s2);
A. -1 B. 1 C. 0 D. 2
31. 自定义函数中若缺省函数值类型,则隐含的类型是( C )。
A. float B. long C. int D. double
32. 以下叙述正确的是( C)。
A. "#define PRICE=30"定义了与30等价的符号常量PRICE
B. 编译预处理命令行都必须以"#"开头
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论