2022年计算机二级考试C语言部分真题.docx
2022年计算机二级考试C语言局部真题(U)以下表达中正确的选项是A)在C语言程序中,main函数必需放在其他函数的最前面B)每个后缀为.C的C语言源程序都可以单独进展编译C)在C语言程序中,只有main函数才可单独进展编译D)每个后缀为.C的C语言源程序都应当包含一个main函数(12) C语言中的标识符分为关键字、预定义标识符和用户标识符,以下表达正确的选项是A)预定义标识符(如库函数中的函数名)可用作用户标识符,但失去原有含义B)用户标识符可以由字母和数字任意挨次组成C)在标识符中大写字母和小写字母被认为是一样的字符D)关键字可用作用户标识符,但失去原有含义(13)以下选项中表示一个合法的常量是(说明:符号口表示空格)A)9口9口9B) OXab C)123E0. 2D) 2. 7e(14) C语言主要是借助以下哪个功能来实现程序模块化h A B C 0请填空。struct slist char data; struct slist *next;void fun (struct slist *h) struct slist *p;p=h;while (p) printf ( u%c ,p->data) ;p= 15 ; printf ( "n ”);A)定义函数 B)定义常量和外部变量C)三种根本构造语句D)丰富的数据类型(15)以下表达中错误的选项是A)非零的数值型常量有正值和负值的区分B)常量是在程序运行过程中值不能被转变的量C)定义符号常量必需用类型名来设定常量的类型D)用符号名表示的常量叫符号常量(16)假设有定义和语句:int a,b; scanf ( "%d,%d ”,以下选项中的输入数据,不能把值3赋给变量a、5赋给变量b的是A)3,5,3,5,4B) 3 ,53,5(17) C语言中char类型数据占字节数为3A) 41D) 2(18)以下关系表达式中,结果为“假”的是A) (3+4) >6B) (3!=4) >23二“ A"printf( u%cn ",a);)程序运行后的输出结果是AA) aHB) h(24)有以下程序#includeint f(int x);main () int a,b=0;for(a=0;aaj 0) t=ai 0 ; ai O=aj 0; aj 0=t;puts(al);程序运行后的输出结果是fwoA) fixtwoB) owo(33)有以下程序ttincludeint a=l,b=2;void funl (int a, int b) printf( "d%d”,a,b);void fun2 () a=3; b=4; main() funl (5,6) ; fun2 ();printf( "d%dn “,a,b);)程序运行后的输出结果是A) 1 2 5 65 6 3 4D) 3 4 5 6(34)有以下程序#includefunc (int n) static int num=l;num=num+n;printf (”, num);)void main () func(3);func(4);printf ( un ");程序运行后的输出结果是4 8A) 3 40 3 5D) 4 5(35)有以下程序ttinclude#includefun(int *pl,int *p2,int *s) s=(int*)malloc(sizeof (int);*s=*pl+*p2;free (s); void main () int a=l,b=40,*q=fun ( printf( u%dn ",*q);程序运行后的输出结果是A) 42B ) 0C ) 1D) 41(36)有以下程序ttincludestruct STUchar name9;char sex;int score2;void f(struct STU a) struct STU b= "zhao m” ,85,90;al=b; main () struct STU c2 = “Qian “,“ f”,95,92, “Sun “," m” ,98,99; f (c);printf ("%s,%c,%d,%d,46 一一一 一.一 一.,c LOJ. name,c LOJ. sex,c LOJ. score LOJ,c LOJ. score LU);printf ("%s,%c,%d,%dn,u,c1. name,cl. sex,c1. score0,cl. scorefl);程序运行后的输出结果是A)Zhao,m,85,90,Sun,m,98,99 B)Zhao,m,85,90, Qian,f,95,92 C )Qian,f,95,92,Sun,m,98,99 D)Qian,f,95,92,Zhao,m,85,90(37)以下表达中错误的选项是A)可以用tiredef说明的新类型名来定义变量B) trpedef说明的新类型名必需使用大写字母,否那么会出编译错误C)用trpedef可以为根本数据类型说明一个新名称D)用trpedef说明新类型的作用是用一个新的标识符来代表已存在的类 型名(38)以下表达中错误的选项是A)函数的返回值类型不能是构造体类型,只能是简洁类型B)函数可以返回指向构造体变量的指针C)可以通过指向构造体变量的指针访问所指构造体变量的任何成员D)只要类型一样,构造体变量之间可以整体赋值(39)假设有定义语句int b=2;那么表达式(b,那么输出结果是8】。(9)有以下程序ttinclude main() int i,sum=0;for (i=l;i*c)c=a;return c;main () int i=3,*p=r=st (p);printf ( %dn ",*r);程序运行后的输出结果是11 o(12)以下程序的输出结果是【12】#includedefine N 3 #define M(n) (N+l)*nmain() int x;x=2*(N+M);printf ( "dn ",x);(13)假设有定义语句:char str 口二“0 ”;,那么字符串str在内存中实际占【13】字节。(14)有以下程序#includeint fun(int n) if (n=0)return(1);return(fun(n-l*n);main () int t;t=fun(3); printf( a%dn ”,t);程序运行后的输出结果是【14】。(15)以下函数的功能是输出链表结点中的数据,形参指针h已指向如下链表