一、选择题
1. 以下程序的运行结果是()
void main(void)
{
int a = 2, c = 5;
printf("a = %d, b = %dn",a,c);
}
A) a = %2, b = %5
B) a = 2, b = 5;
C) a = d, b = d
D) a = %d, b = %d
正确答案:B
2. 若变量已正确说明为double类型,要通过下列语句分别给变量a,b,c赋值为10.0,22.0,33.0,则不正确的输入形式是()
scanf("%lf%lf%lf",&a,&b,&c);
A) 10<回车>22<回车>33<回车>
B) 10.0,22.0,33.0<回车>
C) 10.0<回车>22.0 33.0<回车>
D) 10 22<回车>33<回车>
正确答案:B
3. 已知i,j,k为int型变量,若从键盘输入:1,2,3<回车>,
使i,j,k的值分别为1,2,3,以下选项正确的输入语句是()
A) scanf("%2d%2d%2d",&i,&j,&k);
B) scanf("%d%d%d",&i,&j,&k);
C) scanf("%d,%d,%d",&i,&j,&k);
D) scanf("i = %d,j = %d,k = %d",&i,&j,&k);
正确答案:C
4. 下列运算符的优先级排列正确的是()
A) 算术运算符<关系运算符<赋值运算符<逻辑与运算符
B) 算术运算符<赋值运算符<逻辑与运算符<关系运算符
C) 关系运算符<逻辑运算符<算术运算符<赋值运算符
D) 赋值运算符<逻辑与运算符<关系运算符<算术运算符
正确答案:D
5. 设置变量说明:int x = 3, y = 4, z = 5,则下面表达式值为假的是( )
A) 'x' && 'y'
B) x <= y
C) x + y + z && y - z
D) !((x < y) && z)
正确答案:D
6. 为表示关系 x >= y >= z, 应使用的C语言表达式为( )
A) (x >= y) && (y >= z)
B) (x >= y) AND (y >= z)
C) (x >= y >= z)
D) (x >= y) & (y >= z)
正确答案:A
7. C语言中用( )表示逻辑"真"。
A) True
B) T 或 Y
C) 非零整数值
D) 整数0
正确答案:C
8. 下列运算符中优先级最高的是( ).
A) <
B) +
C) &&
D) !=
正确答案:B
9. 以下if语句语法正确的是( )
A) if(x > 0)
printf("%f",x)
else printf("%f", -x);
B) if(x > 0)
{x = x + y; printf("%f",-x);}
else printf("%f",-x);
C) if(x > 0) {x = x + y; printf("%f",-x);};else printf("%f", -x);
D) if(x > 0)
{x = x + y; printf("%f",-x) }
else printf("%f", -x);
正确答案:B
10. 请阅读以下程序:
#include<stdio.h>
void main(void)
{
int a = 5, b = 0, c = 0;
if (a = b + c)
{
printf("* * *n");
}
else
{
printf("$ $ $n");
}
}
以下程序( )
A) 有语法错不能通过编译
B) 可以通过编译但不能通过连接
C) 输出 * * *
D) 输出 $ $ $
正确答案:D
11. 以下程序的运行结果是( )
#include<stdio.h>
void main(void)
{
int m = 5;
if (m++ > 5)
{
printf("%dn",m);
}
else
{
printf("%dn", m--);
}
}
A) 4
B) 5
C) 6
D) 7
正确答案:C
12. 当a = 1, b = 3, c = 5, d = 4时,执行完下面程序后x 的值是( )
#include<stdio.h>
void main(void)
{
int a = 1, b = 3, c = 5, d = 4,x;
if (a < b)
{
if(c < d)
{
x = 1;
}
else
{
if( a < c)
{
if( b < d)
{
x = 2;
}
else
{
x = 3;
}
}
else
{
x = 6;
}
}
}
else
{
x = 7;
}
printf("%d",x);
}
A) 1
B) 2
C) 3
D) 6
正确答案:B
13. 在C语言中,引用数组元素时,其数组下标的数据类型允许是( )
A) 整型变量
B) 浮点数
C) 整型常量
D) 任何类型的表达式
正确答案:C
14. 若有说明:int a[10], 则对a数组元素的正确引用是( )
A) a[10]
B) a[3.5]
C) a(10)
D) a[10-10]
正确答案:D
15. 以下能对一维数组a进行正确初始化的语句( )
A) int a[10] = (0, 0, 0, 0);
B) int a[10] = {};
C) int a[2] = {0,0,0};
D) int a[10] = {10};
正确答案:D
16. 若有说明:int a[3][4];则对a数组元素的正确引用是( )
A) a[2][4]
B) a[1,3]
C) a[1+1][0]
D) a(2)(1)
正确答案:C
17. 若有两条语句:char x[] = "abcdef"; char y[] = {'a','b','c','d','e','f' };则下列说法正确的是( )
A) x 与y数组的长度相同
B) x数组的长度小于y数组的长度
C) x数组的长度大于y数组的长度
D) x和y数组完全相同
正确答案:C
18. 判断字符串S1和S2是否相等,应当使用( )
A) if(S1 = S2)
B) if(S1 = = S2)
C) if(strcmp(S1,S2) = = 0)
D) if(strcat(S1,S2))
正确答案:C
19. 下面是对S的初始化,其中不正确的是( )
A) char S[5] = "abc";
B) char S[5] = {'a','b','c'};
C) char S[5] = "";
D) char S[5] = "abcde";
正确答案:D
20. 有两个字符数组a,b,则以下正确的输入语句是( )
A) gets(a,b);
B) scanf("%s%s",a,b);
C) scanf("%s%s",&a,&b);
D) gets("a"),gets("a");
正确答案:B
21. 有字符串a和b,则正确的输出语句是( )
A) puts(a,b);
B) printf("%s,%s",a[],b[]);
C) putchar(a,b);
D) puts(a);puts(b);
正确答案:D
22. 以下函数调用语句中,函数f1参数的个数为( )
f1(x,10,f2(y,10));
(注:f2有返回值)
A) 4
B) 3
C) 2
D) 编译出错
正确答案:B
23. 下列符号中可以作为函数名的是( )
A) sysf
B) $bc
C) 5ab
D) a-b
正确答案:A
24. C语言中函数返回值的类型是由( )决定的。
A) return语句的表达式类型
B) 调用函数的主调函数类型
C) 调用函数时临时
D) 定义函数时所指定的函数返回值类型
正确答案:D
25. 以下程序的运行结果为( )
# include <stdio.h>
#define p 2
#define POWER(x) p*x*x
void main(void)
{
int x = 1, y = 2;
printf("%d,%d",POWER(x+y),POWER(y+x));
}
A) 18, 18
B) 6, 7
C) 6, 6
D) 7, 7
正确答案:B
26. 指向变量的指针,其含义是指该变量的()
A) 值
B) 地址
C) 名
D) 一个标志
正确答案:B
27. 若已定义x为int类型变量,则下面说明指针变量pb的语句中( )是正确的。
A) int pb = &x;
B) int pb = x;
C) int *pb = &x;
D) pb = x;
正确答案:C
28. 选择正确的语句(设char *p;char q = 3;)( ).
A) p *= 3;
B) p /= q;
C) p += 3;
D) p = &q
正确答案:D
29. 已有定义:int k = 2;
int *p1, *p2;
且p1和p2均已指向变量k,下面不能正确执行的赋值语句是( )
A) k = *p1 + *p2;
B) p2 = k;
C) p1 = p2;
D) k = *p1 * (*p2);
正确答案:B
30. 若有语句 int *pt, a = 4;和pt = &a,;下面均代表地址的一组选项是( )
A) a, pt
B) &a, *pt
C) &pt, *pt, &a
D) &a, pt
正确答案:D
C语言学习指南系列(零基础入门篇)-学习视频教程-腾讯课堂
C语言与数据结构算法-学习视频教程-腾讯课堂
C++语言学习指南系列(零基础入门篇)-学习视频教程-腾讯课堂
Windows编程(入门篇)-学习视频教程-腾讯课堂