[计算机类试卷]国家二级C语言机试(C语言基础知识)模拟试卷1及答案与解析.doc
《[计算机类试卷]国家二级C语言机试(C语言基础知识)模拟试卷1及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级C语言机试(C语言基础知识)模拟试卷1及答案与解析.doc(23页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级 C语言机试( C语言基础知识)模拟试卷 1及答案与解析 一、选择题 1 以下叙述中错误的是 ( A) C程序经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件 ( B)用 C语言编写的程序称为源程序,它以 ASCII代码形式存放在一个文本文件中 ( C) C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令 ( D) C语言源程序经编译后生成后缀为 obi的目标程序 2 以下叙述中错误的是 ( A)算法正确的程序最终一定会结束 ( B)算法正确的程序可以有零个输入 ( C) 算法正确的程序可以有零个输出 ( D)算法正确的程序对于相同的输入一定有相同的结
2、果 3 关于算法,以下叙述中错误的是 ( A)同一个算法对于相同的输入必能得出相同的结果 ( B)一个算法对于某个输入的循环次数是可以事先估计出来的 ( C)某个算法可能会没有输入 ( D)任何算法都能转换成计算机高级语言的程序,并在有限时间内运行完毕 4 以下叙述中正确的是 ( A)在 C语言程序设计中,所有函数必须保存在一个源文件中 ( B)在算法设计时,可以把复杂任务分解成一些简单的子任务 ( C)只要包含了三种基本 结构的算法就是结构化程序 ( D)结构化程序必须包含所有的三种基本结构,缺一不可 5 对于一个正常运行的 C程序,以下叙述中正确的是 ( A)程序的执行总是从程序的第一个函
3、数开始,在 main函数结束 ( B)程序的执行总是从 main函数开始,在程序的最后一个函数中结束 ( C)程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束 ( D)程序的执行总是从 main函数开始 6 以下叙述中错误的是 ( A) C程序在运行过程中所有计算都以二进制方式进行 ( B)所有 C程序都需要编译链接无误后才能 运行 ( C) C程序在运行过程中所有计算都以十进制方式进行 ( D) C程序中字符变量存放的是字符的 ASCII值 7 以下叙述中正确的是 ( A)程序的主函数名除 main外,也可以使用 Main或 main ( B)在 C程序中,模块化主要是通过函
4、数来实现的 ( C)程序可以包含多个主函数,但总是从第一个主函数处开始执行 ( D)书写源程序时,必须注意缩进格式,否则程序会有编译错误 8 以下四个程序中,完全正确的是 ( A) #include main(); * Programming * printf(“programming! n”); ( B) #include main() *programming* print“programming! n“); ) ( C) #include main() * *programming* * printf(“programming! n“); ( D) include main() *pro
5、gramming* printf(“programming! n“); ) 9 以下叙述中正确的是 ( A) C程序书写格式严格,要求一行内只能写一个语句 ( B) C程序书写格式自由,一个语句可以写在多行上 ( C) C程序中的注释只能出现在程序的开始位置和语句的后面 ( D)用 C语言编写的程序只能放在一个程序文件中 10 我们所写的每条 C语句,经过编译最终都将转换成二进制的机器指令。关于转换以下说法错误的是 ( A)一条 C语句可能会被转换成多条机器指令 ( B)一条 C语句对应转换成一条机器指令 ( C)一条 C语句可能会被转换成零条 机器指令 ( D)某种类型和格式的 C语句被转换
6、成机器指令的条数是固定的 11 以下叙述中正确的是 ( A)程序必须包含所有三种基本结构才能成为一种算法 ( B)如果算法非常复杂,则需要使用三种基本结构之外的语句结构,才能准确表达 ( C)只有简单算法才能在有限的操作步骤之后结束 ( D)我们所写的每条 C语句,经过编译最终都将转换成二进制的机器指令 12 按照 C语言规定的用户标识符命名规则,不能出现在标识符中的是 ( A)连接符 ( B)大写字母 ( C)数字字符 ( D)下划线 13 以下选项中 ,不合法的 C语言用户标识符是 ( A) AaBc ( B) a-b ( C) a_b ( D) _1 14 阅读以下程序 #include
7、 main() int case; float printF: printfi(“请输入 2个数: “); scanf(“ d f“, &case, &printF); printf(“ d f n“, case, printF); 该程序在编译时产生错误,其出错原因是 ( A)定义语句 出错, printF不能用作用户自定义标识符 ( B)定义语句出错, case是关键字,不能用作用户自定义标识符 ( C)定义语句无错, scanf不能作为输入函数使用 ( D)定义语句无错, printf不能输出 case的值 15 关于 C语言的变量,以下叙述中错误的是 ( A)所谓变量是指在程序运行过程
8、中其值可以被改变的量 ( B)变量所占的存储单元地址可以随时改变 ( C)程序中用到的所有变量都必须先定义后才能使用 ( D)由三条下划线构成的符号名是合法的变量名 16 以下叙述中正确的是 ( A)标识符 的长度不能任意长,最多只能包含 16个字符 ( B)语言中的关键字不能作变量名,但可以作为函数名 ( C)用户自定义的标识符必须 “见名知义 ”,如果随意定义,则会出编译错误 ( D)标识符总是由字母、数字和下划线组成,且第一个字符不得为数字 17 以下选项中,合法的一组 C语言数值常量是 ( A) 12 0Xa23 4 5eO ( B) 028 5e-3 0xf ( C) 177 4e1
9、 5 0abc ( D) 0x8A 10, 000 3 e5 18 以下选项中合法的常量是 ( A) 2 7e ( B) 999 ( C) 123E0 2 ( D) 0Xab 19 以下选项中正确的定义语句是 ( A) double a=b=7; ( B) double a: b; ( C) double, a, b; ( D) double a=7, b=7; 20 C语言中 double类型数据占字节数为 ( A) 4 ( B) 12 ( C) 8 ( D) 16 21 以下选项中,值为 1的表达式是 ( A) 1-0 ( B) 1-0 ( C) 1 0 ( D) 0-0 22 有以下程序
10、 main() char c1, c2; c1=A+8-4: c2=A+8-5: printf(“ c, d n“, c1, c2); 已知字母 A的 ASCII码为 65,程序运行后的输出结果是 ( A) D, 69 ( B) E, 68 ( C) E, D ( D)输出无定值 23 有以下定义语句,编译时会出现编译错误的是 ( A) char a= n; ( B) char a=“aa“; ( C) char a=a; ( D) char a= x2d: 24 以下选项中非法的 C语言字符常量是 ( A) b ( B) 007 ( C) aa ( D) xaa 25 下面选项中合法的字符常
11、量是 ( A) X ( B) abc ( C) X ( D) 26 若有定义语句: char a= 82;则变量 a ( A)包含 1个字符 ( B)说明不合法 ( C)包含 2个字符 ( D)包含 3个字符 27 有以下程序 main() char a=H; a=(a =A&a =Z)?(a+32): a; printf(“ c n“, a); 程序运行后的输出结果是 ( A) H ( B) A ( C) h ( D) a 28 表达式: (int)(double)9 2)-9 2的值是 ( A) 0 ( B) 4 ( C) 3 ( D) 5 29 有以下定义: int a; long b;
12、 double x, y; 则以下选项中正确的表达式是 ( A) a (int)(x-y) ( B) a=x y ( C) (ia*y) b ( D) y=x+y=x 30 C语言程 序中,运算对象必须是整型数的运算符是 ( A) ( B) ( C) & ( D) * 31 若有定义语句: int x=10;则表达式 x=x+x的值为 ( A) -20 ( B) 0 ( C) -10 ( D) 10 32 若有定义语句: int a=3, b=2, c=1;以下选项中错误的赋值表达式是 ( A) a=b=c+1; ( B) a=(b=4)=3; ( C) a=(b=4)+c; ( D) a:
13、1+(b=c=4); 33 以下叙述中正确的是 ( A)在赋值表达式中,赋值号的右边可以是变量,也可以是任 意表达式 ( B) a是实型变量, a=10在 C语言中是允许的,因此可以说:实型变量中可以存放整型数 ( C)若有 int a=4, b=9;执行了 a=b后, a的值已由原值改变为 b的值, b的值变为 0 ( D)若有 int a=4, b=9;执行了 a=b; b=a;之后, a的值为 9, b的值为 4 34 设有定义: int x=2;以下表达式中,值不为 6的是 ( A) 2*x, x+=2 ( B) x+, 2*x ( C) x*=(1+x) ( D) x*=x+1 35
14、 设有定义: int k=0;以下选项的四个表达式中与其 他三个表达式的值不相同的是 ( A) k+ ( B) k+=1 ( C) +k ( D) k+1 36 有以下程序 main() int sum, pad, pAd; sum=pad=5; pAd=+sum, pAd+, +pad; printf(“ dha“, pad); ) 程序的输出结果是 ( A) 5 ( B) 7 ( C) 8 ( D) 6 37 以下选项中,当 x为大于 1的奇数时,值为 0的表达式是 ( A) x 2 ( B) x 2!-0 ( C) x 2=0 ( D) x 2=1 38 以下关于逻辑运算符两侧运算对象的
15、叙述中正确的是 ( A)只能是整数 0或非 0整数 ( B)可以是结构体类型的数据 ( C)可以是任意合法的表达式 ( D)只能是整数 0或 1 39 表示关系式 xYz的 C语言表达式的是 ( A) (x =y)(y =x) ( B) (x =y =z) ( C) (x =y)&(y =x) ( D) (x =y)!(y =x) 40 与数学表达式 xyz对应的 C语言表达式是 ( A) (x =y =z) ( B) (x =y)&(y =z) ( C) (x =y)!(y =z) ( D) (x =y)(y =x) 国家二级 C语言机试( C语言基础知识)模拟试卷 1答案与解析 一、选择题
16、 1 【正确答案】 C 【试题解析】 C语言中的非执行语句例如宏定义命令,在预编译之后替换到代码中,该命令本身也就不存在了,不会转换成二进制的机器指令。由高级语言编写的程序称为 “源程序 ”,把由二进制代码表示的程序称为 “目标程序 ”。 C语言编写的源程序就是一 ASCII的形式存放在文本文件中的。 C源程序经过 C编译程序编译之后生成一个后缀为 obj的 二进制文件 (称为目标文件 ),然后由称为 “连接程序 ”(Link)的软件,把此 obj文件与 C语言提供的各种库函数连接起来生成一个后缀为 EXE的可执行文件。 【知识模块】 C语言基础知识 2 【正确答案】 C 【试题解析】 算法是
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 语言 基础知识 模拟 答案 解析 DOC
