C语言程序设计真题-判断
判断
题号:8229
已知 char ch[10]="abcdefg"; 则 strlen(ch) 的值为 10。
答案:
错误
题号:9342
求解表达式 max = (a > b) ? a : b 的步骤是,先求解条件表达式 (a > b),再根据它的值将 a 或 b 赋给 max。
答案:
正确
题号:8047
表达式 (j = 3, j++) 的值是 4。
答案:
错误
题号:9308
若有定义 static a[10]; 则有 a[5] = 0, a[10] = 0;
答案:
错误
题号:9590
若有定义:int a = 15, b = 240; 则表达式 ((a & b) & b || b) 的结果为 1。
答案:
正确
题号:9380
若a是实型变量,C程序中不允许赋值a=10,因此实型变量中只允许存放实型数。
答案: 错误
题号:9770
全局变量的作用域一定比局部变量的作用域范围大。
答案: 错误
题号:8724
在while循环中允许使用嵌套循环,但只能是嵌套while循环。
答案: 错误
题号:8062
表达式(j=3, j++)的值是4。
答案: 错误
题号:6135
int a[3][4]={{1},{5},{9}}; 它的作用是将数组各行第一列的元素赋初值,其余元素值为0。
答案: 正确
题号:9031
对静态数组的初始化是在编译阶段完成的。
答案: 正确
题号:7804
设d=1,e=2,f=3,则逻辑表达式 !(d+e)+f&&e+f*2 的值为0。
答案: 错误
题号:12063
运算符的级别由高向低依次为 ! -> 算术运算符 -> 逻辑运算符 -> 关系运算符 -> 赋值运算符。
答案: 错误
题号:8196
结构体类型在定义的时候不分配内存,不能赋值、存取和运算。
答案: 正确
题号:6076
若有定义和语句:
int a[3][3]={{3,5},{8,9},{12,35}}, i, sum=0;
for(i=0;i<3;i++) sum+=a[i][2-i];
则 sum=21。
答案: 正确
题号:10354
在 C 语言的函数中,数组名不能作形参。
答案: 正确
题号:12127
typedef 可以定义生成新的数据类型。
答案: 错误
题号:10410
静态局部变量在整个程序运行期间都不释放。
答案: 正确
题号:3498
设有数组定义:char array[]="hello"; 则数组 array 所占的空间为 5。
答案: 错误
题号:8127
条件表达式 x ? 'a' : 'b' 中,若 x = 0 时,表达式的值为 b。
答案: 错误
题号:8094
在 C 程序中,% 是只能用于整数运算的运算符。
答案: 正确
题号:7737
k = int(a + b); 是合法的赋值语句。
答案: 错误
题号:11375
文件关闭函数 fclose 可以关闭打开的文件,返回值类型为 void。
答案: 错误
题号:5034
语句 scanf("%7.2f", &a); 是一个合法的 scanf 函数。
答案: 错误
题号:11550
若有 #define S(a, b) a * b,则语句 area = S(3, 2); 中 area 的值为 6。
答案: 正确
题号:7666
若有定义:int i = 3, j; 执行 j = ++i; 后,i, j 的值都为 4。
答案: 正确
题号:7416
一个 C 程序是由一个主程序和若干子程序组成。
答案: 错误
题号:10455
a = (b = 4) + (c = 6) 是一个合法的赋值表达式。
答案: 正确
题号:9082
语句 char ch[12] = {"C Program"}; 与语句 char ch[] = "C Program"; 具有不同的赋初值功能。
答案: 错误
题号:7849
若定义:double x = 2.5, y = 4.7; int a = 7; 则算术表达式 (x + a % 3 * (int)(x + y) % 2 / 4) 的值为 2.75。
答案: 错误
题号:10403
int max(a, b); 是正确的函数调用语句。
答案: 错误
题号:9182
二维数组在内存中存储时,是按列的顺序连续存储各元素的值。
答案: 错误
题号:9157
定义 char s[9]; gets(s); 若输入的字符串是 Turbo c↙(↙代表按回车键操作),则输入给数组 s 中的字符个数是 7。
答案: 正确
题号:2113
变量根据其作用域的范围可以分作局部变量和全局变量。
答案: 正确
题号:10171
对静态变量的初始化不是在编译阶段完成的。
答案: 错误
题号:11245
判断:注释语句必须用/*和*/括起来,且只能位于某一语句的后面.
答案:
错误
题号:10103
判断:C语言中,通过函数调用只能获得一个返回值.
答案:
错误
题号:10579
判断:假设有 int a[10], *p; 则 p=&a[0] 与 p=a 等价
答案:
正确
题号:8309
判断:++(i+1); 是非法的赋值语句
答案:
正确
题号:7549
判断:字符串 "\bABC\082\\" 的长度是8.
答案:
错误
题号:7952
判断:C语言中逻辑型数据用0表示假,1表示真.
答案:
错误
题号:11889
判断:若有宏定义:#define S(a,b) t=a;a=b;b=t 由于变量t没定义, 所以此宏定义是错误的.
答案:
错误
题号:7656
判断:字符串常量是用一对双引号括起来的字符序列,所以"a"不是字符串.
答案:
错误
题号:12051
判断:条件运算符优先于赋值运算符和逻辑运算符,但低于关系运算符和算术运算符.
答案:
错误
题号:11194
判断:int i,*p=&i; 是正确的C说明
答案:
正确
题号:10970
判断:设指针变量已经指向一个有效地址,则表达式&*p==p的结果为真.
答案:
正确
题号:8447
判断:while,do-while和for语句中条件判断只能是关系表达式或逻辑表达式.
答案:
错误
题号:8155
判断:设g=1,h=2,k=3,则逻辑表达式k+g||!h&&k-h的值为0
答案:
错误
题号:9263
判断:在C语言中char str[]={'h','e','l','l','o'}不能将字符串"hello"正确赋给数组.
答案:
正确
题号:11145
判断:下列的语句是正确的:int **p;
答案:
正确
题号:8063
判断:设u=1,v=2,w=3,则逻辑表达式 u||v-w&&v+w 的值为0.
答案:
错误
题号:8935
判断:数组在内存中占一连续的存储区,数组名代表数组的首地址.
答案:
正确
题号:8659
判断:在实际编程中,do-while循环完全可以用for循环替换.
答案:
正确
题号:10220
判断:gets 函数是用来输入一个字符的函数.
答案:
错误
题号:7240
判断:十进制数15的二进制数是1111.
答案:
正确
题号:11423
下面的定义和语句是合法的:
file *fp;fp=fopen("a.txt","r");
答案:
错误
题号:10503
max(3,a+b);是正确的函数调用语句.
答案:
正确
题号:8220
语句if(a>b) printf("%d",a); else printf("%d",b);可以用语句 printf("%d",a>b?a:b);取代.
答案:
正确
题号:11015
定义 int b[ ]={1,2,3,4},y,*p=b;则执行y=*p++后,y的值是1.
答案:
正确
题号:8772
若有说明int c;则while(c=getchar());是正确的C语句.
答案:
正确
题号:3993
逻辑表达式 -5&&!8 的值为1。
答案:
错误
题号:7298
二进制文件打开后可以先读文件的末尾,而顺序文件不可以。
答案:
正确
题号:10137
函数调用时,实参和形参在类型上应按位置与形参一一对应匹配;如果类型不匹配,通常编译器并不给出出错信息。
答案:
正确
题号:11556
如果字符串与宏名相同,则不管其是否在双括号内,都要进行宏替换。
答案:
错误
题号:9097
定义一维数组的形式为:类型说明 数组名[表达式],其中表达式必须是整型常量。
答案:
错误
题号:9348
语句scanf("%7.2f",&a);是一个合法的scanf函数。
答案:
错误
题号:8004
已知a=3,b=4,c=5,则逻辑表达式!(x=a) && (y=b) && 0的值为0。
答案:
正确
题号:11238
因为指针可以赋值0,所以可以将一个整型数据赋值给指针。
答案:
错误
题号:10312
C语言中所有的关系表达式的结果均为整数,即:0或非零值1,2,3等。
答案:
错误
题号:583
若有定义和语句:
int a;char c;float f;scanf("%d,%c,%f",&a,&c,&f);
若通过键盘输入:
10,A,12.5,则a=10,c='A',f=12.5。
答案:
正确
题号:8940
数组作为形参时,声明大小为10,则实参数组大小可以为20。
答案:
正确
题号:9529
局部变量可以定义在函数内的复合语句中,这样就只在该复合语句中有效。
答案:
正确
题号:758
若有宏定义:#define S(a,b) t=a;a=b;b=t 由于变量t没定义,所以此宏定义是错误的。
答案:
错误
题号:3830
int i=20;
switch(i/10)
{ case 2:printf("A");
case 1:printf("B");
}
的输出结果为A。
答案:
错误
题号:8730
对于continue和break这两条语句,均可用来实现循环体的中止。
答案:
错误
题号:13783
若有说明int c;则while(c=getchar());是正确的C语句。
答案:
正确
题号:13762
若有int i=10, j=0;则执行完语句:
if (j=0) i++; else i--;
i的值为11。
答案:
错误
题号:13861
C语言中只能逐个引用数组元素而不能一次引用整个数组。
答案:
正确
题号:13892
#define 和 printf 都不是C语句。
答案:
正确
题号:13709
语句scanf("%7.2f",&a);是一个合法的scanf函数。
答案:
错误

