1.表示关系x<=y<=z的C语言表达式为( )
A:(X<=Y)AND(Y<=Z) B:(X<=Y)&&(Y<=Z) C:(X<=Y<=Z) D:(X<=Y)&(Y<=Z)
答案:AI参考:表示关系x<=y<=z的C语言表达式为:D:(X<=Y)&(Y<=Z)。在C语言中,使用“&”符号表示逻辑与操作,所以选项D:(X<=Y)&(Y<=Z)表示x不大于y且y不大于z的关系。'
2.被定义为指向某结构体类型数据的指针变量,即可以指向具有该类型的变量,又可以指向它其中的一个成员。( )
A:错 B:对
答案:错
3.针的意思是通过它能找到以它为地址的内存单元。( )
A:错 B:对
答案:对
4.switch…case结构中case后的表达式必须为常量表达式。( )
A:对 B:错
答案:对
5.使用完链表后,系统会自动释放链表占用的内存。( )
A:对 B:错
答案:错
6.一旦定义了某个结构体类型后,系统将为此类型的各个成员项分配内存单元。( )
A:对 B:错
答案:错
7.C系统在用字符数组存储字符串常量时会自动加一个‘\0’作为结束符。( )
A:对 B:错
答案:对
8.语句if(a=5) 是正确的。( )
A:错 B:对
答案:错
9.函数的声明是必须的,只有这样才能保证编译系统对调用表达式和函数之间的参数进行检测,以确保参数的传递正确。( )
A:错 B:对
答案:错
10.C语言中,fgets()函数用于读取一行字符串,或读取指定长度的字符串。( )
A:对 B:错
答案:对
11.递归算法解题相对常用的算法如普通循环等,运行效率较高。( )
A:对 B:错

12.函数定义需要开辟内存空间。( )
A:对 B:错 13.在递归调用的过程当中系统为每一层的返回点、局部量等开辟了栈来存储。递归次数过多容易造成栈溢出等。( )
A:错 B:对 14.continue语句是结束本次循环,调整循环变量后继续下一次循环。( )
A:对 B:错 15.若有定义char*s = “hello”;则sizeof(s)求出其结果为5。( )
A:错 B:对 16.printf函数中的所有格式字符,都既可以是大写形式,也可以是小写形式。( )
A:对 B:错 17.可以通过typedef给函数指针取别名调用该类型函数。( )
A:错 B:对 18.字符型指针用char*来定义,它不仅可以指向一个字符型常量,还可以指向一个字符串。( )
A:错误 B:正确 19.若已声明一结构体student,定义一只想结构体变量的指针struct Student *pStruct后,应用其中的成员的用法是*pStruct.成员名。( )
A:对 B:错 20.在C语言中所有用到的变量都要先定义然后才能使用。( )
A:对 B:错 21.作为if语句条件的表达式只能是关系表达式或者逻辑表达式。( )
A:错 B:对 22.对局部变量使用static声明,该变量在整个程序执行期间不释放,其所分配的空间始终存在。( )
A:对 B:错 23.数组的[]内的数字是必须大于零的整数。( )
A:错 B:对 24.不同函数中可以使用同名的变量。( )
A:错误 B:正确 25.定义结构体变量有三种方式:先定义结构体类型再定义结构体变量、在定义结构体类型的同时定义结构体变量、直接定义结构体变量。( )
A:错 B:对 26.static局部变量在函数调用结束后不消失且继续保留原值。( )
A:错 B:对 27.在调用函数fun(fun(a, b), c)时,先调用的是fun(a, b)。( )
A:错 B:对 28.把x,y定义成基本整型变量并赋初值2,可写成:int x=y=2;( )
A:错 B:对 29.在解决问题时,应该尽量避免使用递归,除非没有更好的算法或者某种特定情况,递归更为适合的时候。( )
A:对 B:错 30.字符串也可以像基本数据类型一样进行比较相等的操作。( )
A:对 B:错 31.一个变量的地址称为该变量的“指针”。( )
A:对 B:错 32.#include<stdio.h>#include<string.h>int main(){ char ss[10]="12345"; gets(ss); printf("%s\n",ss); return 0;}当执行下面程序且输入:ABC时,输出的结果是( )
A:12345ABC B:ABC45 C:ABC456789 D:ABC 33.以下选项中,不能正确赋值的是( )
A:char s1[10];s1="Ctest"; B:char s3[20]="Ctest"; C:char *s4="Ctest\n" D:char s2[]={'C', 't', 'e', 's', 't'}; 34.以下关于函数定义时的形参说法正确的是( )
A:形参不可以是指针 B:形参不能为空 C:形参可以是任意类型 D:形参只能一个 35.#include <stdio.h>char str[] = "000";int main(){printf("%d\n", str[2]);return 0;} 运行程序的结果是( )
A:运行出错 B:48 C:0 D:随机数值 36.struct Student{int num;int age;} stu, *p;若有以上声明,则对结构体变量stu中成员age的不正确应用方式为( )
A:p->age B:(*p).age C:student.age D:stu.age 37.int sum(double a, double b){return (a + b);}函数的返回类型为( )
A:float B:double C:int D:void 38.#include <stdio.h>struct stu{ int num; char name[10]; int age;};void fun(struct stu *p){ printf("%s\n",(*p).name);}int main(){ struct stu students[3]={{9801,"Zhang",20},{9802,"Wang",19},{9803,"Zhao",18}}; fun(students+2); return 0;}上面程序的输出是( )
A:Wang B:Zhang C:18 D:Zhao 39.#include <stdio.h>int main(){int a[3] = {0, 2, 4};printf("%d\n", a + 2);return 0;}运行程序的结果是( )
A:a[2]的地址 B:4 C:随机数值 D:2 40.要定义一个字符串,下列选项中错误的是( )
A:char s[] = “hello”; B:char *s = “hello”; C:char s[] = {“h”,”e”,”l”,”l”,”o”}; D:char s[6] = “hello”; 41.若有定义int a = 1,b = 2, c = 3, d = 4,则表达式a<b?a:c<d?a:d的结果为( )
A:3 B:4 C:1 D:2 42.#include <stdio.h>void fun(int a){printf("%d ", a+1);}int main(){int a = 1;fun(a);fun(a);fun(a);return 0;}运行以下程序的结果是( )
A:2 3 4 B:1 1 1 C:2 2 2 D:1 2 3 43.#include <stdio.h>int main(){int arr[5] = {1, 2, 3, 4, 5};printf("%d\n", *arr);return 0;}运行程序的结果是( )
A:0 B:随机数值 C:运行出错 D:1 44.long F(int n){if (n<=1) return n;return F(n-1)+F(n-2);}递归函数的递归体是( )
A:F(n)=F(n-1)+F(n-2) B:F(n)=F(n-3) C:F(n)=F(n-1) D:F(n)=F(n-21) 45.char a=‘a’;while (a < 1){a++;}printf("%c", a);以下程序段运行结果为( )
A:‘a’ B:b C:‘b’ D:a 46.代码char* ch=”abcdef”;则输出*ch在控制台的结果是( )
A:“abcdef” B:“ab” C:‘a’ D:字符’a’的地址 47.不能实现函数之间数据传递的是( )
A:全局变量 B:局部变量 C:函数返回值 D:数组作为形参 48.#include<stdio.h>int a=0;int slove(int n){if(n==1)return 1;elsereturn n+slove(n-1);}int main(){int n=3;a=slove(n);printf("%d",a);return 0;}程序运行后的结果为( )
A:0 B:6 C:3 D:1 49.字符串"ABC"在内存占用的字节数是( )。
A:3 B:8 C:4 D:6 50.struct abc{int x;char y;}struct abc s1, s2;若程序中有以上的声明和定义, 则会发生的情况是( )
A:程序将顺序编译、连接执行 B:编译时报错 C:能顺序通过编译、但连接出错 D:能顺序通过编译、连接但不能执行 51.int Year(int n){return (!(n % 4) && (n % 100) || !(n % 400));}int main(){int a = 1900;int *p = printf("%d", Year(*p));return 0;}下列程序段执行结果是( )
A:1 B:有语法错误 C:0 52.若a为int型变量,则下列C语言表达中,不能表达数学关系式10<a<15的是( )
A:!(a<=10)&&!(a>=15) B:a>10&&a<15 C:10<a<15 D:a==11||a==12||a==13||a==14 53.字符数组定义正确的是( )
A:char a[i] B:char a[] C:char a[5] D:char a[0] 54.给定函数原型:int* f(int *p); 变量定义:int i; 下列选项哪个对函数的调用是错误的?( )
A:f(&(i+6)); B:int* p = f(&i); C:*f(&i) = 6; D:f(&i); 55.假设有:char str[ ]="Beijing"; 那么执行 printf("%d\n", strlen(strcpy(str,"China"))); 后的输出结果是( )
A:7 B:12 C:5 D:14 56.int main(){int x = 0;int a = 1;int b = 5;switch(x){case 0: b++; break;case 1: a++; break;case 2: ++a, ++b; break;default:printf(“Error”);}printf(“%d, %d”, a, b);return 0;}以下程序的输出结果是( )
A:2,5 B:1,5 C:1,6 D:2,6 57.typedef struct NODE{int a;char b;} OLD;有上列程序段,则以下叙述中正确的是( )
A:OLD是一个结构体类型 B:NODE的一个结构体类型 C:OLD是一个结构体变量 58.switch(i){case ‘1’:i+=1;case ‘2‘:i+=1;case ‘3’:i+=1;default:i+=1;};若int i = 1,执行下面程序段后,变量i的值为( )
A:3 B:4 C:2 D:1 59.递归的基本思想是( )
A:把规模大的问题转化为规模小的不同的子问题来解决 B:把规模小的问题转化为规模大的相似的子问题来解决 C:把规模大的问题转化为规模小的相似的子问题来解决 D:把规模小的问题转化为规模大的不同的子问题来解决 60.字符数组a[]={“hello”}的长度是( )
A:6 B:4 C:3 D:5 61.#include<stdio.h>int main(){int c=20;for(int i=0;i<1;i++){int c=10;printf(“%d”,c);}printf(“%d”,c);return 0;}程序输出结果是( )
A:2020 B:1020 C:1010 D:2010 62.与数学式子5乘以x的n次方除以(2y-5)对应的C语言表达式是( )。
A:5*pow(x,n)*(1/(2*y-5)) B:5*x^n/(2*y-5) C:(5*x^n)/(2y-5) D:5*pow(n,x)/(2*y-5) 63.long fun(int n){ long s; if (n==1 || n==2) s=2; else s=n-fun(n-1); return s;}int main(){ printf("%ld\n", fun(3)); return 0;}以下程序的输出结果是( )
A:1 B:4 C:3 D:2 64.有程序段:int *p,a=10,b=1; p= a=*p+b; 执行该程序段后,a的值为( )
A:10 B:编译出错 C:12 D:11 65.int main(){float a = 5.034;double b = 3.62129;printf(“%.2f %.3lf\n”,&a,&b);return 0;} 以下程序输出结果为( )
A:5.03 3.621 B:5.0 3.62 C:5.03 3.62 D:5.03 3.622 66.在C语言中,要求运算数必须是整型或字符型的运算符是().
A:&& B:! C:& D:|| 67.若给定条件表达式(M)?(a++):(a--),则其中表达式M().
A:和(M!=0)等价 B:和(M!=1)等价 C:和(M==0)等价 D:和(M==1)等价 68.以下能对一维数组a进行正确初始化的语句是().
A:int a[10]={10*1}; B:int a[]={0}; C:int a[10]={}; D:int a[10]=(0,0,0,0,0) 69.下列程序段的输出结果为().float k=0.8567;printf("%06.1f%%",k*100);
A:0085.7% B:0085.6% C:.857 D:0085.6%% 70.函数的形式参数隐含的存储类型说明是().
A:static B:register C:auto D:extern 71.下列字符序列中,不可用作C语言标识符的是().
A:b70 B:symbol C:a_1 D:#ab 72.下列程序的输出结果为().main(){int m=7,n=4;float a=38.4,b=6.4,x;x=m/2+n*a/b+1/2;printf("%f\n",x);}
A:27.500000 B:28.500000 C:27.000000 D:28.000000 73.char *match(char c)是().
A:函数定义的头部 B:函数预说明 C:函数调用 D:指针变量说明 74.下列程序段的输出结果为().int x=3,y=2;printf("%d",(x-=y,x*=y+8/5));
A:7 B:3 C:1 D:5 75.C 语言中以下几种运算符的优先次序()的排列是正确的.
A:由高到低为:!,算术运算符,关系运算符,&&,||,赋值运算符 B:由高到低为:算术运算符,关系运算符,赋值运算符,!,&&,|| C:由高到低为:算术运算符,关系运算符,!,&&,||,赋值运算符 D:由高到低为:!,&&,||,算术运算符,赋值运算符 76.已知p,p1为指针变量,a为数组名,j为整型变量,下列赋值语句中不正确的是().
A:p=&a[j]; B:p=a; C:p=&j,p=p1; D:p=10; 77.经下列语句定义后,sizeof(x),sizeof(y),sizeof(a),sizeof(b)在微机上的值分别为().char x=65;float y=7.3; int a=100; double b=4.5;
A:2,2,2,4 B:1,2,2,4 C:1,4,2,8 D:2,4,2,8 78.在一个C程序中().
A:main函数可以在任何地方出现 B:main函数必须出现在所有函数之前 C:main函数必须出现在所有函数之后 D:main函数必须出现在固定位置 79.下列程序的输出结果是().main(){int a=011; printf("%d\n",++a);}
A:10 B:9 C:11 D:12 80.在C语言中,一维数组的定义方式为:类型说明符数组名().
A:[整型常量] B:[整型表达式] C:[整型常量]或[整型表达式] D:[常量表达式] 81.若a=1,b=2则 a|b的值是().
A:0 B:3 C:1 D:2 82.若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是().
A:函数调用可以出现在表达式中 B:函数调用可以作为独立的语句存在 C:函数调用可以作为一个函数的实参 D:函数调用可以作为一个函数的形参 83.下面四个选项中,均是不合法的用户标识符的选项是().
A:b-a goto int B:A P_0 do C:_123 temp int D:float la0 _A 84.在C语言中,要求运算数必须是整型的运算符是().
A:% B:!= C:++ D:/ 85.C语言程序中,当调用函数时().
A:可以由用户指定是否共用存储单元 B:实参和虚参可以共用存储单元 C:计算机系统自动确定是否共用存储单元 D:实参和虚参各占一个独立的存储单元 86.以下对C语言函数的描述中,正确的是().
A:C函数既可以嵌套定义又可以递归调用 B:函数必须有返回值,否则不能使用函数 C:C程序中有调用关系的所有函数必须放在同一个程序文件中 D:C程序必须由一个或一个以上的函数组成 87.设j和k都是int类型,则for循环语句 for(j=0,k=0;j
A:最多执行9次 B:是无限循环 C:最多执行10次 D:循环体一次也不执行 88.C语言中 while 和 do-while 循环的主要区别是().
A:do-while 允许从外部转到循环体内 B:do-while 的循环体不能是复合语句 C:do-while 的循环体至少无条件执行一次 D:while的循环控制条件比 do-while的循环控制条件更严格 89.C语言源程序的基本单位是().
A:过程 B:子程序 C:函数 D:标识符 90.表达式,0x13&0x17的值是().
A:0x13 B:0xec C:0x17 D:0xf8 91.enum a {sum=9,mon=-1,tue};定义了().
A:枚举变量 B:3个标识符 C:枚举数据类型 D:整数9和-1 92.若有下列定义和语句,则对a数组元素的非法引用是(). int a[2][3], (*pt)[3]; pt=a;
A:pt[0][0] B:*(a[0]+2) C:*(pt[1]+2) D:*(pt+1)[2] 93.下列程序的输出为().main() { int y=10; while(y--) ; printf("y=%d\n",y); }
A:while构成无限循环 B:y=0 C:y=1 D:y=-1 94.下面说明不正确的是().
A:char a[10],*p=a;p="china" B:char a[10]="china"; C:char a[10],*p;p=a="china" D:char *a;a="china"; 95.下列程序的输出结果是().main(){ int x=1,y=0,a=0,b=0; switch(x) { case 1:switch(y) { case 0:a++;break; case 1:b++;break; } case 2:a++;b++;break; case 3:a++;b++;break; } printf("a=%d,b=%d\n",a,b);}
A:a=1,b=0 B:a=2,b=1 C:a=1,b=1 D:a=2,b=2 96.以下常量中,能够代表逻辑"真"值的常量是().
A:0' B:0 C:\0' D:NULL 97.用下列语句定义a,b,c,然后执行b=a、c='b'+b,则b,c的值是(). long a=0xffffff; int b; char c;
A:-1和97 B:指向同一地址 C:0ffffff 和0x61 D:-1和98 98.int a[10];合法的数组元素的最小下标值为().
A:1 B:9 C:0 D:10 99.下面四个选项中,均是不合法的浮点数的选项是().
A:123 2e4.2 .e5 B:-e3 .234 1e3 C:-.18 123e4 0.0 D:160. 0.12 e3 100.设a=12,且a定义为整型变量.执行语句a+=a-=a*=a;后a的值为().
A:132 B:12 C:144 D:0 101.经过以下语句定义后,表达式z+=x>y?++x:++y的值为(). int x=1,y=2,z=3;
A:5 B:6 C:3 D:2 102.以下错误的描述是:函数调用可以().
A:出现在执行语句中 B:做为一个函数的实参 C:出现在一个表达式中 D:做为一个函数的形参 103.数组说明 int a[3][]={1,2,3,4,5}; 是正确的.
A:对 B:错 104.在C语言中,5种基本数据类型的存储空间长度的排列顺序为:char
A:对 B:错 105.将函数fun的入口地址赋给指针变量p的语句是p=fun();
A:对 B:错 106.在C程序中,赋值运算符的优先级最低.
A:对 B:错 107.#include "stdio.h" 是每个程序中必须写的.
A:错 B:对 108.char *s1="A";是正确的.
A:对 B:错 109.如果#define N 10 则 float a[N];是错的.
A:对 B:错 110.如果想使一个数组中全部元素的值为0,可以写成 int a[10]={0*10};
A:对 B:错 111.int a=7,b=9,t;t=(a>b)?a:b;t的值为7.
A:对 B:错 112.char *p="girl";的含义是定义字符型指针变量p,p的值是字符串"girl".
A:错 B:对 113.动态存储分配,可调用函数malloc(),如int *p;p=(int *)malloc(sizeof(p));
A:错 B:对 114.设x、t均为int型变量,则执行语句"x=10;t=x&&x>10;"后,t的值为0.
A:错 B:对 115.char c;c=getchar();该程序段的功能是将用户从键盘输入的字符赋给变量c.
A:对 B:错 116.fabs()是C语言取绝对值的数学函数.
A:错 B:对 117.若有int i=10, j=0;则执行完语句 if (j=0) i+ +; else i- -; i的值为11.
A:错 B:对 118.若有定义和语句:int a;char c;float f;scanf("%d,%c,%f",&a,&c,&f);若通过键盘输入:10,A,12.5则a=10,c='A',f=12.5.
A:对 B:错 119.int a[10]={0,1,2,3,4,5,6,7,8,9},*p=a;则p+5相当于a[5].
A:对 B:错 120.在C语言中,逻辑"真"等价于不等于0的数.
A:对 B:错 121.在C语言中8.9e1.2是不正确的实型常量.
A:对 B:错

温馨提示支付 ¥3.00 元后可查看付费内容,请先翻页预览!
点赞(1) dxwkbang
返回
顶部