C语言无纸化考试选择题全真模拟试卷(2)

更新时间:2023-05-21 11:14:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

仅供参考,复习时以历年真题为主。

天行健,君子以自强不息:地势坤,君子以厚德载物!C语言无纸化考试选择题全真模拟试卷(2)选择题( (1)~(40)每小题1分,共40分)下列A)、B)、C)、D)四个选项中,只有一个选项是正确的。 (1)下面关于算法的叙述中,正确的是( ) 。 A)算法的执行效率与数据的存储结构无关 B)算法的有穷性是指算法必须能在执行有限个步骤之后终止 C)算法的空间复杂度是指算法程序中指令(或语句)的条数 D)以上三种描述都正确 (2)下列二叉树描述中,正确的是( ) 。 A)任何一棵二叉树必须有一个度为2的结点 B)二叉树的度可以小于2 C)非空二叉树有0个或1个根结点 D)至少有2个根结点 (3)如果进栈序列为A,B,C,D,则可能的出栈序列是( ) 。 A)C,A,D,B B)B,D,C,A C)C,D,A,B D)任意顺序 (4)下列各选项中,不属于序言性注释的是( ) 。 A)程序标题 B)程序设计者 C)主要算法 D)数据状态 (5)下列模式中,能够给出数据库物理存储结构与物理存取方法的是( ) 。 A)内模式 B)外模式 C)概念模式 D)逻辑模式 (6)下列叙述中,不属于软件需求规格说明书的作用的是( ) 。 A)便于用户,开发人员进行理解和交流 B)反映出用户问题的结构,可以作为软件开发工作的基础和依据 C)作为确认测试和验收的依据 D)便于开发人员进行需求分析 (7)下列不属于软件工程的3个要素的是( ) 。 A)工具 B)过程 C)方法 D)环境 (8) 数据库系统在其内部具有3级模式, 用来描述数据库中全体数据的全局逻辑结构和特性的是 ( ) 。 A)外模式 B)概念模式 C)内模式 D)存储模式 (9)将E-R图转换到关系模式时,实体与联系都可以表示成( ) 。 A)属性 B)关系 C)记录 D)码 (10)某二叉树中度为2的结点有10个,则该二叉树中有( )个叶子结点。 A)9 B)10 C)11 D)12 (11)以下叙述中正确的是( ) 。 A)C程序中注释部分可以出现在程序中任意合适的地方 B)C程序的书写格式是固定的,每行只能写一条语句 C)构成C程序的基本单位是函数,所有函数名都可以由用户命名 D)在对C语言程序进行编译时,可以发现注释行中的拼写错误 (12)下列合法的标识符是( ) 。 A)12_3 B)256 C)a.55 D)_abhj (13)以下不正确的转义字符是( ) 。 A)'\\' B)'\d' C)'\s' D)'088' (14)下面程序的运行结果是( ) 。 y=5; x=14; y=((x=3*y,x+6),x-1); printf("x=%d,y=%d",x,y); A)x=27,y=27 B)x=12,y=13 C)x=15,y=14 D)x=y=27 (15)sizeof(char)是( ) 。 A)一种函数调用 B)一个整型表达式 C)一个字符型表达式 D)一个不合法的表达式1

仅供参考,复习时以历年真题为主。

天行健,君子以自强不息:地势坤,君子以厚德载物! (16)下列4个程序中,完全正确的是( A)#include <stdio.h> main( ); {/*programming*/ printf("programming! \n"); C)#include <stdio.h> main( ) {/* / programming*/ */ printf("programming! \n");} ) 。 B)#include <stdio.h> main( ) {/* / programming / */ printf("programming!\n");} D)include <stdio.h> main( ) { /*programming */ printf("programming! \n");}(17)设变量均已正确定义,若要通过scanf("%d%c%d%c",&a1,&c1,&a2,&c2);语句为变量a1和a2赋数值10 和20,为变量c1和c2赋字符X和Y。下列所示的输入形式中正确的是(注:□代表空格字符) ( ) 。 A)10□X□20□Y<CR> B)10□X20□Y<CR> C)10□X<CR> D)10X<CR> 20Y<CR> 20□Y<CR> (18)两次运行下面的程序,如果从键盘上分别输入3和2,则输出结果是( ) 。 #include<stdio.h> main() { int x; scanf("%d",&x); if(x++>2)printf("%d",x); else printf("%d\n",x--); } A)4和3 B)4和2 C)4和1 D)3和2 (19)以下叙述中不正确的是( ) 。 A)在不同的函数中可以使用相同的名字的变量 B)函数中的形式参数是局部变量 C)在一个函数内定义的变量只在本函数范围内有效 D)在一个函数内的复合语句中定义的变量在本函数范围内有效 (20)以下程序: #include<stdio.h> main() { char Chr[20]; scanf("%s",&Chr); printf("%s\n",Chr); } 运行上面的程序,输入字符串Microsoft Visual Studio,则程序的执行结果是( ) 。 A)Microsoft Visual Studio B)M C)Microsoft D)MicrosoftVisualStudio (21)若有"double a;",则正确的输入语句是( ) 。 A)scanf("%lf",a); B)scanf("%f",&a); C)scanf("%lf",&a) D)scanf("%le",a); (22)当a=3,b=5,c=9,d=7时,执行下面的程序段后,x的值为( ) 。 if(a<b) if(c<d) x=4; else if(a<c) if(b<d) x=6; else x=8; else x=9;2

仅供参考,复习时以历年真题为主。

天行健,君子以自强不息:地势坤,君子以厚德载物! else x=14; A)9 B)6 C)14 D)4 (23)若i、j已定义成int型,则以下程序段中内循环体的总执行次数是( ) 。 for(i=6;i>0;i--) for(j=0;j<4;j++){…} A)20 B)24 C)25 D)30 (24)以下选项中非法的字符常量是( ) 。 A)'\\' B)'\0201' C)'\xAA' D)'0' (25)以下程序的输出结果是( ) 。 #include<stdio.h> int m=13; int fun(int x,int y) { int m=2; return(x*y-m); } main() { int a=7,b=6; printf("%d",fun(a,b)/m); } A)1 B)3 C)7 D)10 (26)下面说法正确的是( ) 。 A)调用函数时,实参不可以是表达式,必须是数值 B)调用函数时,实参与形参是共用内存单元的 C)调用函数时,将实参的值复制给形参,使实参变量和形参变量在数值上相等 D)调用函数时,实参与形参的类型可不一致,编译器能够自动转换 (27)已知下列函数定义 fun(int *b,int c,int n,int data) {int k; for(k=0;k<m*n;k++) {*b=data; b++;} } 则调用此函数的正确写法是(假设变量a的说明为int a[50]) ( ) 。 A)fun(*a,4,5,1); B)fun(&a,4,5,1); C)fun((int*)a,4,5,1); D)fun(a,4,5,1); (28)以下程序段的输出结果是( ) 。 #include<stdio.h> main() { char p[][4]={"ABC","DEF","GHI"}; int i; for(i=0;i<3;i++) puts(p[i]); } A)A B)A D G C)A B C D)A B C B DEF C GHI (29)下面程序的运行结果是( ) 。 #include<stdio.h> #include<string.h> main() { char*s1="abDuj"; char*s2="ABdUG";3

仅供参考,复习时以历年真题为主。

天行健,君子以自强不息:地势坤,君子以厚德载物! int t; t=strcmp(s1,s2); printf("%d",t); } A)正数 B)负数 C)零 D)不确定的值 (30)已知:int c[3][4];,则对数组元素引用正确的是( ) 。 A)c[1][4] B)c[1.5][0] C)c[1+0][0] D)以上表达都错误 (31)以下程序: #include<stdio.h> #include<string.h> main() { char str[]="abcd\n\123\xab"; printf("%d",strlen(str)); } 运行后的输出结果是( ) 。 A)10 B)9 C)7 D)14 (32)C语言中允许用外部说明来指定变量、函数和其他标识符的特征,这里所说的外部指的是( A)冠以关键字extern B)位置在函数体外部 C)作用范围是全程的 D)位置在函数的外部 (33)设已执行预编译命令#include<string.h>,以下程序段的输出结果是( ) 。 char s[]="abcdefg"; printf("%d\n",strlen(s)); A)7 B)8 C)9 D)10 (34)若有char s[3][3]={"AAA","BBB","CCC"};说明语句,则与它等价的语句是( ) 。 A)char**s={"AAA","BBB","CCC"}; B)char*s[3]= {"AAA","BBB","CCC"}; C)char s[][5]= {"AAA","BBB","CCC"}; D)char s[][3]= {"AAA","BBB","CCC"}; (35)下列程序执行后的输出结果是( ) 。 void func(int *a,int b[]) { b[0]=*a+6; } main() { int a,b[5]={0}; a=0; b[0]=3; func(&a,b); printf("%d\n",b[0]); } A)6 B)7 C)8 D)9 (36)若有如下说明,且int类型占两个字节,则正确的叙述为( ) 。 struct st { int a; int b[2]; }a; A)结构体变量a与结构体成员a同名,定义是合法的 B)程序只在执行到该结构体时才为结构体st分配存储单元 C)程序运行时为结构体st分配8字节存储单元 D)类型名struct st可以通过extern关键字提前引用 (37)若有以下宏定义: #define N 2 #define f(n)((N+1)*n) 则执行语句a=3*(N+f(5));后的结果是( ) 。) 。4

仅供参考,复习时以历年真题为主。

天行健,君子以自强不息:地势坤,君子以厚德载物! A)语句有错误 B)a=51 C)a=80 D)a无定值 (38)设有一联合体变量定义如下: union data { long a; float b; int c; char d; }; union data x; 执行下列语句后,正确的联合体变量x的值是( ) 。 x.a=111111; x.b=2222; x.c=2.1546; x.d='R'; A)111111 B)2222 C)2.1546 D)R (39)若x=2,y=3,则x&y的结果是( ) 。 A)0 B)2 C)3 D)5 (40)已知一个文件中存放若干工人档案记录,其数据结构如下: struct a {char number [100]; int age; float p[6];}; 定义一个数组: struct a number[10]; 假定文件已正确打开,不能正确地从文件中读入10名工人数据到数组b中的是( A)fread(b,sizeof(struct a),10,fp); B)for(i=0;i<10;i++) fread(b[i],sizeof(struct a),1,fp); C)for(i=0;i<10;i++) fread(b+i,sizeof(struct a),1,fp); D)for(i=0;i<5;i+=2) fread(b+i,sezeof(struct a),2,fp);) 。参考答案: 1~5:BBBDA 21~25:CBBBB 6~10:DDBBC 26~30:CDCAC 11~15:ADDCB 31~35:CDADA 16~20:BAADC 36~40:ABDBB5

本文来源:https://www.bwwdw.com/article/g314.html

Top