1.do-while循环的循环体最少要执行一次。
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 int main(void){         int x[5] = { 2, 4, 6, 8, 10 }, *p, **pp;       p = x;       pp = &p;       printf(“%d ”, *(p++));       printf(”%d”, **pp);       return 0;}
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 int fac(int n){     int f=1,i;    for(i=1;i<=n;i++)        f=f * i;    return(f);}main(){     int j,s;    scanf(“%d”,&j);    s=fac(j);    printf("%d!=%d",j,s);}如果从键盘输入3,运行结果为(     )。
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 int main(){       int k = 11;       printf("k = %d, k = %o, k = %x", k, k, k);       return 0;}
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 void fun (int c, int *d) {     c++;     (*d)++;}int main ( ){     int a=5, b=9;     fun(a, &b);     printf("%d, %d", a, b);     return 0;}
A:6,9 B:6,10 C:5,9 D:5,10 37.有以下程序,它的功能是(    )。#include int main(){          int i,s=0;          for(i=1;i<10;i+=2)                 s+=i+1;          printf("%d",s);          return 0;}
A:自然数1~9的累加和 B:自然数1~10的累加和 C:自然数1~9中奇数之和 D:自然数1~10中偶数之和 38.

以下程序段(   )的功能是:计算1! + 2! + 3! + … + n!。假设变量和函数都已正确定义。


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 元后可查看付费内容,请先翻页预览!
点赞(5) dxwkbang
返回
顶部