1.do-while循环的循环体最少要执行一次。 以下程序段( )的功能是:计算1! + 2! + 3! + … + n!。假设变量和函数都已正确定义。
A:对
B:错
答案:对
2.case语句后如没有break,顺序向下执行。
A:对
B:错
答案:对
3.continue 不是结束本次循环,而是终止整个循环的执行。
A:错
B:对
答案:错
4.使用结构指针作为函数参数只要传递一个地址值,因此,能够提高参数传递的效率。
A:错
B:对
答案:对
5.在if语句的三种形式中,如果要想在满足条件时执行一组(多个)语句,则必须把这一组语句用{}括起来组成一个复合语句。
A:错
B:对
答案:对
6.如果变量已经正确定义,则执行以下程序段后,x的值不变。x = 4; if (x < 0){ y = -1;}else if (x = 0){ y = 0;}else{ y = 1;}
A:对
B:错
答案:错
7.一个被调函数的函数体中,又可以出现函数调用语句,这种调用现象称为函数的嵌套调用。
A:错
B:对
答案:对
8.有一段程序如下:int getSum(int k){ int s; s = getSum(k+1) + k; return s;}int main(){ int sum; sum = getSum(0); return 0;}递归函数getSum设计不合理,这段程序将无限递归,始终不能结束。
A:错
B:对
答案:对
9.C语言源代码可以不经过编译而被计算机直接运行。( )。
A:对
B:错
答案:错
10.二维数组定义的一般形式如下,其中的类型名指定数组中每个元素的类型。类型名 数组名[行长度][列长度];
A:错
B:对
答案:对
11.下面程序的运行结果是( )。 #include
A:2 2
B:4 4
C:2 4
D:4 6
12.C语言中有关字符串大小的比较,下面描述正确的是 ( )。
A:字符个数多的字符串比字符个数少的字符串大
B:字符串“STOP”和“stop”相等
C:两个字符串所包含的字符个数相同时才能比较字符串
D:字符串“That”小于字符串“The”
13.C语言中,有关循环控制语句的论述,以下描述正确的是 ( )。
A:while循环体中,一定要有能使while后面表达式变为假的操作
B:do_while语句中while(表达式)后面的分号可以省略
C:do_while循环中,根据情况可以省略while
D:while,do_while,for循环中的循环体语句都至少被执行一次
14.执行下面程序,正确的输出是( )。int x = 5, y = 7;void swap ( ){ int z ; z = x ; x = y ; y = z ;}int main(void) { int x = 3, y = 8; swap ( ) ; printf ( " %d , %d ", x , y ) ; return 0 ;}
A:3,8
B:8,3
C:7,5
D:5,7
15.若有以下语句,则下面表达式的值为1002的是( )。struct student { int age; int num;};struct student stu[3]={{1001,20},{1002,19},{1003,2}};struct student *p;p=stu;
A:(*p).num
B:(*++p).age
C:(p++)->age
D:(p++)->num
16.若变量已正确定义,以下while循环正常结束时,累加到pi的最后一项item的值满足( )。 flag = 1; denominator = 1;item = 1.0;pi = 0; while(fabs(item) >= 0.0001){ item = flag * 1.0 / denominator; pi = pi + item; flag = -flag; denominator = denominator + 2; }
A:item的绝对值大于等于0.0001
B:item的绝对值小于0.0001
C:item的绝对值大于0.0001
D:item的绝对值小于等于0.0001
17.在执行 int a[][3]={1,2,3,4,5,6};语句后, a[1][0]的值是( )。
A:2
B:1
C:4
D:5
18.对于一个头指针为head的带头结点的单链表,判定该表为空表的条件是( )。
A:head→next==head
B:head!=NULL
C:head==NULL
D:head→next==NULL
19.要求通过while循环不断读入字符,当读入字母N时结束循环。若变量已正确定义,下列程序段正确的是 ( )。
A:while (ch = getchar() != 'N')printf("%c", ch);
B:while (ch = getchar() == 'N')printf("%c", ch);
C:while ((ch = getchar()) == 'N')printf("%c", ch);
D:while ((ch = getchar()) != 'N')printf("%c", ch);
20.不能把字符串Hello!赋给数组b的语句是 ( )。
A:char b[10]={'H','e','l','l','o','!'};
B:char b[10];strcpy(b,"Hello!");
C:char b[10]="Hello!";
D:char b[10];b="Hello! ";
21.若要使函数不带回任何值,可以( )。
A:不返回main( )函数
B:把函数定义为void类型
C:不定义函数类型
D:不使用return语句
22.以下程序的输出结果是( )。int main(void){ int aa[4][4]={ {1, 2, 3, 4}, {5, 6, 7, 8}, {3, 9, 10, 2}, {4, 2, 9, 6} }; int i, s=0; for(i=0; i<4; i++) s += aa[i][1]; printf("%d", s); return 0;}
A:20
B:19
C:13
D:11
23.下列输出语句中, ( )将输出%d。
A:printf(“%%d");
B:printf("%d");
C:printf("%%%d");
D:printf("%_d");
24.对于循环while(!e) 语句,!e等价于( )_。
A:e==0
B:e==1
C:e!=0
D:e!=1
25.如果有函数char *func(char *p, char ch),则下面说法错误的是( )。
A:函数返回一个字符指针
B:可以通过语句"return -1;"返回函数结果
C:可以通过语句"return NULL;"返回函数结果
D:可以通过语句"return p;"返回函数结果
26.下面四个变量定义语句,哪个选项中的p是指针 ( )。
A:int* *p();
B:int (*p)[5];
C:int *p[6];
D:int *p();
27.#include
A:3!=6
B:3!=5
C:3!=1
D:3!=3
28.对于以下变量定义,正确的赋值是( )。int *p[3], a[3];
A:p = &a[0]
B:p[0] = &a[0]
C:*p = a[0]
D:p = a
29.如果有以下定义语句,则输出结果为( )。struct { int x, y; } s[2] = { { 1, 3 }, { 2, 7 } };printf(“%d”, s[0].y/s[1].x );
A:3
B:1
C:0
D:2
30.下面四个选项中,表达式( )的值是0。
A:3%5
B:3/5
C:3<5
D:3/5.0
31.若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是( )。
A:函数调用可以作为独立的语句存在
B:函数调用可以作为一个函数的实参
C:函数调用可以出现在表达式中
D:函数调用可以作为一个函数的形参
32.链表不具有的特点是( )。
A:不必事先估计存储空间
B:所需空间与线性长度成正比
C:插入、删除不需要移动元素
D:可随机访问任一元素
33.下列程序的输出结果是( )。#include
A:k = 11, k = 12, k = 11
B:k = 11, k = 13, k = 13
C:k = 11, k = 013, k = 0xb
D:k = 11, k = 13, k = b
34.有以下函数定义:void fun(int n, double x){......}下列选项中的变量都已正确定义并赋值,则对函数fun的正确调用语句是( )。
A:fun(x,n);
B:k=fun(10,12.5);
C:fun(int y, double m);
D:void fun(x,n);
35.下面四个选项是有关C语言中函数返回值类型的描述,下面( )因素决定了返回值的类型。
A:函数定义时指定的类型
B:形参的数据类型
C:return语句中的表达式类型
D:调用该函数时的实参的数据类型
36.执行如下程序段,打印输出的内容是 ( )。#include
A:6,9
B:6,10
C:5,9
D:5,10
37.有以下程序,它的功能是( )。#include
A:自然数1~9的累加和
B:自然数1~10的累加和
C:自然数1~9中奇数之和
D:自然数1~10中偶数之和
38.
A:sum = 0;item = 1; for(i = 1; i <= n; i++){ item = item * i; sum = sum + item; }printf("%.0f", sum);
B:sum = 0;for(i = 1; i <= n; i++){ item = 1; for (j = 1; j <= i; j++) item = item * j; sum = sum + item; }printf("%.0f", sum)
C:for(i = 1; i <= n; i++){ sum = 0; item = 1; for (j = 1; j <= i; j++) item = item * j; sum = sum + item; } printf("%.0f", sum);
D:sum = 0;for(i = 1; i <= n; i++ ){ sum = sum + fact (i); /* 假设函数fact(i)已正确定义 */ } printf("%.0f", sum);
E:sum = 0;item = 1;for(i = 1; i <= n; i++){ for (j = 1; j <= i; j++) item = item * j; sum = sum + item; } printf("%.0f", sum)
39.对于以下两个程序段,下列叙述正确的是( )。/ * 程序段1 */if (x < 2){ if (x < 1){ y = x + 1; }}else{ y = x + 2;}/ * 程序段2 */if (x < 2){ if (x < 1){ y = x + 1; }else{ y = x + 2; }}
A:在程序段1中,语句y = x + 2;的执行条件是满足x>=2。
B:在程序段1和程序段2中,语句y = x + 1;的执行条件皆为满足x<2。
C:在程序段2中,语句y = x + 2;的执行条件是满足x>=2。
D:在程序段2中,语句y = x + 2;的执行条件是满足x>=1且x<2。
E:在程序段1中,语句y = x + 2;的执行条件是满足x>=1且x<2。
F:在程序段1和程序段2中,语句y = x + 1;的执行条件皆为满足x<1。
温馨提示支付 ¥3.00 元后可查看付费内容,请先翻页预览!