C语言二级题库
- 格式:doc
- 大小:528.00 KB
- 文档页数:111
全国计算机等级考试二级c语言题库及答案1. 以下哪个选项不是C语言中的运算符?A. 赋值运算符B. 逗号运算符C. 条件运算符D. 逻辑运算符答案:C2. 在C语言中,以下哪个关键字用于定义一个函数?A. structB. unionC. voidD. int答案:D3. 若有以下代码片段:```cint a = 5, b = 10;a = a + b;```执行后,变量a的值是多少?A. 5B. 10C. 15D. 20答案:C4. 在C语言中,哪个函数用于计算字符串的长度?A. strlen()B. strcpy()C. strcat()D. strcmp()答案:A5. 下列哪个选项不是C语言中的控制语句?A. ifB. switchC. whileD. do-while答案:B6. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A7. 若有以下代码片段:```cint x = 3;printf("%d", x++);```执行后,输出的结果是多少?A. 3B. 4C. 2D. 5答案:A8. 在C语言中,以下哪个函数用于将字符串复制到另一个字符串?A. strcpy()B. strncpy()C. strcat()D. strcmp()答案:A9. 下列哪个选项不是C语言中的数组类型?A. 一维数组B. 二维数组C. 三维数组D. 指针数组答案:D10. 在C语言中,以下哪个关键字用于声明一个指针变量?A. intB. charC. floatD. void答案:D结束语:以上是全国计算机等级考试二级C语言的部分题库及答案,希望对您的学习和复习有所帮助。
c语言二级考试试题及答案C语言二级考试试题及答案一、选择题(每题2分,共20分)1. 下列关于C语言中数组的描述,正确的是:A. 数组名是一个变量名B. 数组名是一个常量C. 数组名是一个指针D. 数组名是一个函数答案:B2. 以下哪个是C语言中的合法变量名?A. 2variableB. variable-nameC. variable_nameD. variable name答案:C3. 在C语言中,以下哪个是正确的字符串字面量?A. "Hello World"B. 'Hello World'C. "Hello World" + "Hello World"D. "Hello\nWorld"答案:D4. C语言中,以下哪个不是标准输入输出库函数?A. printf()B. scanf()C. getchar()D. puts()答案:C5. 下列哪个是C语言中的条件语句?A. ifB. switchC. forD. while答案:A6. C语言中,以下哪个是正确的函数定义?A. int function_name(int x, int y) { /* ... */ }B. int function_name(int x, int y);C. int function_name(int x, y) { /* ... */ }D. int function_name(int x; int y) { /* ... */ }答案:A7. 在C语言中,以下哪个是正确的递归函数调用?A. function_name(x)B. function_name(x, y)C. function_name(function_name(x))D. function_name(&x)答案:C8. 在C语言中,以下哪个是正确的结构体定义?A. struct person { int age; char name[50]; };B. struct person { int age; char name[50] }C. struct person { int age; char name[50]; }D. struct person { int age; char name[50] } person;答案:A9. 在C语言中,以下哪个是正确的指针声明?A. int *ptr;B. int ptr*;C. *int ptr;D. int * ptr;答案:A10. 下列哪个是C语言中的位运算符?A. &&B. ||C. &D. ++答案:C二、填空题(每题2分,共10分)1. C语言中,使用________运算符可以实现两个整数的按位与操作。
二级C语言试题(含答案)二级C语言试题一、判断题(2×8=16分)1、printf()函数总是从新行的起始位置开始打印。
( F )2、所有的变量在使用前都必须予以申明。
(F)3、在申明变量时必须给出变量的类型。
(T)4、C语言认为变量number和NuMbEr是相同的。
( F)5、打印三行输出的C语言程序必须用三条printf语句。
(F)6、求余运算符%只能用于两个整数操作数。
(T)7、switch选择结构中必须有default子句。
(F)8、如果x>y或ay&&a<b)为真。
(f)< p="">二、选择题(3×16=48分)1、下面实现换行功能的格式符为。
(B )A. \tB. \nC. \aD. \k2. C语言程序由什么组成?(单选) CA. 子程序B. 主程序和子程序C. 函数D. 过程3. 下面哪个表达式的值为4. DA. 11/3B. 11.0/3C. (float)11/3D. (int)(11.0/3+0.5)4. 该源程序执行后,屏幕上显示什么?void main(){int a;float b;a=4;b=9.5;printf("a=%d,b=%4.2f\n",a,b);}程序运行结果:a=4,b=9.50A. a=%d,b=%f\nB. a=%d,b=%fC. a=4,b=9.50D. a=4,b=9.55. 若有以下说明语句: Bchar s=’\\\092’;则下面哪一项是正确的.A. 使s的值包含2个字符B. 说明语句不合法C. 使s的值包含6个字符D. 使s的值包含4个字符6.若k,g均为int型变量,则以下语句的输出为哪一项? A int k,g;k=017;g=111;printf("%d,",k);printf("%x\n",g);A. 15,6fB. f,6fC. f,111D. 15,1117. 在C语言的if语句中,用作判断的表达式为___。
计算机二级c语言考试真题及答案详解一、单项选择题(每题2分,共40分)1. 在C语言中,以下哪个选项是合法的整型常量?A. 0x12B. 0x12.3C. 0x12LD. 0x12.3L答案:A2. 若有定义int a=1, b=2;,则以下哪个表达式的值不为真?A. a<bB. a<=bC. a>bD. a!=b答案:C3. 在C语言中,以下哪个选项是合法的字符串字面量?A. "Hello, World"B. 'Hello, World'C. "Hello, World\n"D. "Hello, World\0"答案:A4. 下列哪个函数不能正确计算数组元素的总和?A. sum = 0; for(i=0; i<n; i++) sum += array[i];B. sum = 0; for(i=0; i<n; i++) sum = sum + array[i];C. sum = 0; for(i=0; i<n; i++) sum = array[i];D. sum = 0; for(i=0; i<n; i++) sum += array[i];答案:C5. 在C语言中,以下哪个选项是合法的函数声明?A. int add(int, int);B. int add();C. int add(int a, int b);D. int add(a, b);答案:C6. 若有定义int a[10];,则以下哪个表达式是合法的数组元素访问?A. a[10]B. a[-1]C. a[3.5]D. a[3]答案:D7. 在C语言中,以下哪个选项是合法的指针声明?A. int *ptr;B. int *ptr[];C. int ptr*;D. int ptr[];答案:A8. 若有定义int x=10;,则以下哪个表达式是合法的赋值语句?A. x = x + 1;B. x = 1 + x;C. x = x++;D. x = ++x;答案:A9. 在C语言中,以下哪个选项是合法的循环语句?A. for(;;)B. while(1)C. do {} while(0)D. for(;;) {}答案:D10. 若有定义int a[5] = {1, 2, 3, 4, 5};,则以下哪个表达式是合法的数组元素访问?A. a[5]B. a[-1]C. a[2.5]D. a[2]答案:D11. 在C语言中,以下哪个选项是合法的switch语句?A. switch(x) { case 1: break; }B. switch(x) { default: break; }C. switch(x) { case 1: case 2: break; }D. switch(x) { case 1: default: break; }答案:C12. 若有定义int x=5;,则以下哪个表达式是合法的自增运算?A. x++;B. ++x;C. x--;D. --x;答案:A13. 在C语言中,以下哪个选项是合法的函数原型声明?A. void func();B. int func(int);C. void func(int a);D. All of the above答案:D14. 若有定义int a=3;,则以下哪个表达式是合法的位运算?A. a & 2B. a | 2C. a ^ 2D. All of the above答案:D15. 在C语言中,以下哪个选项是合法的宏定义?A. #define PI 3.14159B. #define PI 3.14159fC. #define PI 3.14159LD. All of the above答案:A二、编程题(每题30分,共60分)1. 编写一个函数,计算并返回一个整数数组中所有元素的和。
计算机二级c语言题库及答案【选择题】1). 关于C语言的变量,以下叙述中错误的是( )A.所谓变量是指在程序运行过程中其值可以被改变的量B.变量所占的存储单元地址可以随时改变C.程序中用到的所有变量都必须先定义后才能使用D.由三条下划线构成的符号名是合法的变量名正确答案:B答案解析:变量是指在程序运行过程中其值可以改变的值,一个变量实质上是代表了内存中的某个存储单元。
在程序中对某个变量的操作实际上就是对这个存储单元的操作,程序运行期间,这个分配的存储单元不会改变,但是其值可以变化。
变量命名要符合标识符的规定,其中下划线是标识符的组成字符。
程序中所有变量都必须先定义后使用。
2). 当变量c的值不为2、4、6时,值也为″真″的表达式是( )A.(c==2)||(c==4)||(c==6)B.(c>=2 && c<=6)&&!(c%2)C.(c>=2 &&c<=6)&&(c%2!=1)D.(c>=2 && c<=6) || (c!=3)|| (c!=5)正确答案:D答案解析:逻辑或运算中,只要有一项为真,表达式的值就为真,故选项D中c的值不为2、4、6时,那么表达式(c>=2&& c<=6)以及(c!=3)、(c!=5)必有一个成立,表达式的值也为真。
3). 在C语言中,函数返回值的类型最终取决于A.函数定义时在函数首部所说明的函数类型B.return语句中表达式值的.类型C.调用函数时主调函数所传递的实参类型D.函数定义时形参的类型正确答案:A答案解析:在C语言中,应当在定义函数时指定函数值的类型,凡不加类型说明的函数,一律按整型处理。
在定义函数时,对函数值说明的类型一般应该和return语句中的表达式类型一致。
如果函数值的类型和return语句中的表达式类型不一致,则以函数类型为主,即函数类型决定返回值的类型。
全国计算机二级C语言_考试真题电子版1、下列叙述中正确的是()A.所有数据结构必须有根结点B.所有数据结构必须有终端结点(即叶子结点)C.只有一个根结点,且只有一个叶子结点的数据结构一定是线性结构D.没有根结点或没有叶子结点的数据结构一定是非线性结构[答案]D[解析]D项正确,线性结构的特点是:(1)集合中必存在第一个元素”且惟一;(2)集合中必存在“最后个元素”且惟一;(3)除最后一个元素外,其他数据元素均有惟一的“后继”,除第一个元素外其他数据元素均有惟一的“前驱”。
所以没有根结点或没有叶子结点的数据结构一定是非线性结构。
AB两项错误,不是所有数据结构都必须有根结点和叶子结点;C项错误,数据结构中若有中间结点不满足只有一个前件或者后件的条件,就不是线性结构。
答案选择D选项2、以下叙述中错误的是()A.C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令B.C程序经过编译、链接步骤之后才能形成一个真正可执行的二进制机器指令文件C.用C语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文件中D.C语言源程序经编译后生成后缀为.obi的目标程序[答案]A[解析]A项错误,注释语句不会被翻译成二进制的机器指令。
C 源程序经过C编译程序编译之后生成后缀为obi的二进制文件(称为目标文件),然后由“链接程序”(Link)的软件把obi文件与各种库函数连接起来生成一个后缀为exe的可执行文件。
答案选择A选项3、C语言主要是借助以下()功能来实现程序模块化的。
A.定义函数B.定义常量和外部变量C.三种基本结构语句D.丰富的数据类型[答]A[解析]C程序的模块化主要通过函数来实现。
C语言允许对函数单独进行编译,从而可以实现模块化答案选择A选项。
4、下列叙述中正确的是()。
A.栈是“先进先出”的线性表B.队列是“先进后出”的线性表C.循环队列是非线性结构D.有序线性表既可以采用顺序存储结构,也可以采用链式存储结构[答案]D[解析]有序的线性表既可采用顺序存储结构,也可以采用链式存储结构。
计算机二级c语言.考试题库及答案一、单项选择题(每题2分,共40分)1. C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 在C语言中,以下哪个选项是正确的注释方式?A. // 这是注释B. /* 这是注释 */C. //* 这是注释D. /* 这是注释 */答案:B3. 以下哪个选项不是C语言中的基本数据类型?A. intB. floatC. charD. string答案:D4. 在C语言中,以下哪个运算符用于取模运算?A. %B. /C. *D. -答案:A5. 以下哪个函数可以用于将字符串转换为浮点数?A. atoiB. atofC. itoaD. sprintf答案:B6. 在C语言中,以下哪个选项是正确的文件打开模式?A. "r"B. "w"C. "a"D. "r+"答案:D7. 在C语言中,以下哪个关键字用于声明一个函数?A. structB. voidC. intD. return答案:C8. C语言中,以下哪个选项是正确的数组声明方式?A. int array[5];B. int array[];C. int array[5] = {0};D. All of the above答案:D9. 在C语言中,以下哪个选项是正确的字符串声明方式?A. char str[] = "Hello";B. char str[10] = "Hello";C. char str[] = {'H', 'e', 'l', 'l', 'o'};D. All of the above答案:D10. 在C语言中,以下哪个关键字用于定义一个枚举类型?A. enumB. structC. unionD. typedef答案:A二、填空题(每题2分,共20分)1. 在C语言中,使用________关键字可以定义一个指针。
计算机二级c语言试题库及答案一、选择题1. 在C语言中,以下哪个选项是正确的字符串定义方式?A. char str[] = "Hello, World!";B. char str[12] = "Hello, World!";C. char str = "Hello, World!";D. char str[] = {"Hello", "World!"};答案:A2. 下列哪个函数用于计算字符串的长度?A. strlen()B. strlength()C. length()D. size()答案:A3. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. structedC. structureD. type答案:A4. 以下哪个选项是正确的C语言函数声明?A. int function(int a, int b);B. int function(int, int);C. int function(int a; int b);D. int function(int a, int b)答案:A5. C语言中,以下哪个选项表示逻辑非运算符?A. &&B. ||C. !D. =答案:C二、填空题1. 在C语言中,使用________运算符可以将一个整数转换为一个字符。
答案:%c2. 以下代码段的输出结果是______。
```c#include <stdio.h>int main() {int a = 5;printf("%d", a++);return 0;}```答案:53. 以下代码段中,变量b的值是______。
```cint a = 10, b;b = a++;```答案:104. 在C语言中,使用________函数可以将浮点数转换为字符串。
第一章一、选择题1.对下列二叉树进行中序遍历的结果是( )。
A.ACBDFEGB.ACBDFGEC.ABDCGEFD.FCADBEG2.按照"后进先出"原则组织数据的数据结构是( )。
A.队列B.栈C.双向链表D.二叉树3.下列叙述中正确的是()。
A.一个逻辑数据结构只能有一种存储结构B.数据的逻辑结构属于线性结构,存储结构属于非线性结构C.一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率D.一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理的效率4.下面选项中不属于面向对象程序设计特征的是()。
A.继承性B.多态性C.类比性D.封装性5.下列叙述中正确的是()。
A.软件交付使用后还需要进行维护B.软件一旦交付使用就不需要再进行维护C.软件交付使用后其生命周期就结束D.软件维护是指修复程序中被破坏的指令6.下列描述中正确的是()。
A.软件工程只是解决软件项目的管理问题B.软件工程主要解决软件产品的生产率问题C.软件工程的主要思想是强调在软件开发过程中需要应用工程化原则D.软件工程只是解决软件开发中的技术问题7.在软件设计中,不属于过程设计工具的是()。
A.PDL(过程设计语言)B.PAD图C.N-S图D.DFD图8.数据库设计的4个阶段是:需求分析、概念设计、逻辑设计和()。
A.编码设计B.测试阶段C.运行阶段D.物理设计9.数据库技术的根本目标是要解决数据的()。
A.存储问题B.共享问题C.安全问题D.保护问题10.数据库独立性是数据库技术的重要特点之一。
所谓数据独立性是指()。
A.数据与程序独立存放B.不同的数据被存放在不同的文件中C.不同的数据只能被对应的应用程序所使用D.以上3种说法都不对11.下列关于栈的叙述正确的是()。
A.栈是非线性结构B.栈是一种树状结构C.栈具有"先进先出"的特征D.栈具有"后进先出"的特征12.结构化程序设计所规定的三种基本控制结构是()。
计算机二级c语言题库
计算机二级C语言题库包括以下题目:
1. 选择题
(1)为了避免流程图在描述程序逻辑时的灵活性,提出了用方框图来代替传统的程序流程图,通常也把这种图称为:
A. PAD图
B. N-S图
C. 结构图
D. 数据流图
(2)结构化程序设计主要强调的是:
A. 程序的。
2. 填空题
【】si【】9【】t=n
改错题:【】t=x;x=y;【】return t;
【】t=i【】i【】0
改错题:【】while(fabs(t)=num)【】t=s。
以上只是部分题目的示例,完整的计算机二级C语言题库会包含更多题目,包括选择题、填空题、改错题等各类题型。
您可以通过考试培训网站或教育类网站获取计算机二级C语言题库的全部题目及答案,也可以通过做题应用来练习和提高自己的解题能力。
《二级C语言》练习题库与参考答案一、单选题(共100题,每题1分,共100分)1、软件生命周期中,确定软件系统要做什么的阶段是()。
A、软件测试B、软件设计C、需求分析D、系统维护正确答案:C2、软件生命周期是指()。
A、软件的开发与管理B、软件产品从提出、实现、使用、维护到停止使用退役的过程C、软件的实现和维护D、软件的需求分析、设计与实现正确答案:B3、某二叉树中有n个叶子结点,则该二叉树中度为2的结点数为()。
A、n+1B、n/2C、2nD、n-1正确答案:D4、若各选项中所用变量已正确定义,函数fun中通过return语句返回一个函数值,以下选项中错误的程序是()。
A、main() { float fun(int i,int j); ……x=fun(i,j);…… } float fun(inta,int b){……}B、float fun(int,int); main() {……x=fun(2,10);……} float fun(inta,int b){……}C、float fun(inta,int b){……} main() {……x=fun(i,j);……}D、main() {……x=fun(2,10);……} float fun(inta,int b){……}正确答案:D5、以下关于指针的叙述,错误的是()。
A、两个基类型相同的指针变量不能指向同一个对象B、可以通过对指针变量自增、自减来移动指针C、只有两个类型相同的指针才能进行减运算D、一个指针变量可以通过不同的方式获得一个确定的地址值正确答案:A6、结构化程序设计的基本原则不包括()。
A、模块化B、逐步求精C、自顶向下D、多态性正确答案:D7、下面描述不属于软件特点的是()。
A、软件复杂性高B、软件使用不涉及知识产权C、软件在使用中不存在磨损、老化问题D、软件是一种逻辑实体,具有抽象性正确答案:B8、关系表中的每一行记录称为一个()。
计算机二级《C语言》考试题库与答案一、程序填空题(共18分)、下列给定程序中,函数flm的功能是:将s所指字符串中的所有数字字符移到所有非数字字符之后,并保持数字字符串和非数字字符串原有的次序。
例如,s所指的字符串为“def35adh3kjsdt7”,执行后结果为“defadhajsdt3537”。
请在程序的下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。
注意:部分源程序在文件BLANKl.c中。
不得增行或删行,也不得更改程序的结构!二、程序修改题(共l8分)下列给定程序中函数fun的功能是:用冒泡法对6个字符串进行升序排列。
请改正程序中的错误,使它能得出正确的结果。
注意:部分源程序在文件MODIl.C中,不得增行或删行,也不得更改程序的结构!三、程序设计题(共24分)编写函数fun,其功能是:求ss所指字符串中指定字符的个数,并返回此值。
例如,若输入字符串123412132,输入字符为l,则输出3。
注意:部分源程序在文件PROCl.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填人你编写的若干语句。
参考答案一、程序填空题【参考答案】(1)j++或j+=1或++j或j=j+1(2)s[i]=t1[i](3)j【考点分析】本题考查:指针型变量;数组变量赋值;for循环语句。
【解题思路】填空1:根据函致fun中的内容可知,数组t1存储了s中的非数字字符,数组口存储了s中的数字字符,为了存储下一个数字字符,下标j要进行加1操作。
填空2:将S串中的数字与非数字字符分开后,要先将非数字字符放入字符串s中,因此填入s[i]=t1[i]。
填空3:最后将敦字字符加到s串之后,并且i要小于数字的.个数j。
二、程序修改题【参考答案】(1)fh(j=i+1;j<6;j++)(2)*(pstr+i)=}(pstr+j);【考点分析】本题考查:冒泡排序算法;for循环语句格式;指针数组。
计算机二级考试c语言试题及答案# 计算机二级考试C语言试题及答案## 一、选择题1. 以下哪个是C语言的关键字?- A. `int`- B. `integer`- C. `char`- D. `character`答案:A2. C语言中,哪个函数用于计算并返回两个数的和?- A. `add(int a, int b)`- B. `sum(int a, int b)`- C. `calculate(int a, int b)`- D. `plus(int a, int b)`答案:B3. 在C语言中,以下哪个语句是正确的?- A. `int a = 5;`- B. `int a = 5.5;`- C. `int a = "5";`- D. `int a = '5';`答案:A## 二、填空题1. 在C语言中,用于定义一个整型变量的关键字是______。
答案:int2. 如果要计算两个数的平均值,可以使用C语言中的______运算符。
答案:/(除法)3. 在C语言中,用于定义一个字符变量的关键字是______。
答案:char## 三、简答题1. 请简述C语言中数组的定义和初始化方式。
答案:在C语言中,数组是一种基本的数据结构,用于存储相同类型的元素集合。
数组定义的一般形式为:`typearrayName[arraySize];`。
初始化可以使用花括号包围初始化值列表,如:`int arr[5] = {1, 2, 3, 4, 5};`。
如果数组初始化时未指定大小,数组的大小将由初始化值的数量决定。
2. 描述C语言中函数的定义和调用过程。
答案:C语言中的函数是一段具有特定功能的代码块,可以被重复调用。
函数定义包括返回类型、函数名、参数列表和函数体。
例如:`int add(int a, int b) { return a + b; }`。
调用函数时,需要使用函数名和相应的参数,如:`int result = add(5, 10);`。
c语言二级考试题库考试题目一:1. (单选题)以下关于C语言中的运算符,哪个是正确的?A. = 是赋值运算符B. * 是取余运算符C. + 是自增运算符D. / 是逻辑与运算符答案:A2. (多选题)以下哪些是C语言的控制语句?A. if-else语句B. for循环语句C. switch语句D. do-while循环语句答案:A、B、C、D3. (填空题)下面的C语言代码片段中,缺少的语句是什么?```cint x = 10;float z = x / y;printf("%f", ____);```答案:z4. (判断题)在C语言中,可以使用浮点数来进行整数运算。
答案:错误考试题目二:1. (单选题)以下表达式的值是多少?```cint a = 10;int b = 5;int c = a++ + ++b;```A. 25B. 26C. 27D. 282. (多选题)以下哪些是C语言中的数据类型?A. intB. floatC. charD. string答案:A、B、C3. (填空题)下面的C语言代码片段中,缺少的语句是什么?```cint i;for (i = 0; i < 10; i++) {printf("%d ", i);}```答案:无4. (判断题)C语言中的逻辑运算符有 &&、|| 和 !。
答案:正确考试题目三:1. (单选题)以下哪个选项可以用来定义一个常量?A. const int x;B. readonly int y;C. final int z;D. let int w;答案:A2. (多选题)以下哪些是C语言中的关键字?A. whileB. switchC. goD. break答案:A、B3. (填空题)下面的C语言代码片段中,缺少的语句是什么?```cint x = 10;int y = (x > 5) ? 1 : 0;printf("%d", ____);```答案:y4. (判断题)在C语言中,可以直接对两个字符串进行比较运算。
全国计算机二级c语言考试题库1. C语言中的基本数据类型包括( )。
A. 整型、实型、逻辑型B. 整型、实型、字符型C. 整型、逻辑型、字符型D. 整型、实型、逻辑型、数组型2. 在C语言中,以下合法的字符常量是( )。
A. '\048'B. 'ab'C. '\43'D. "\0"3. 设x为int型变量,执行下列语句:x=10; x+=x-=x-x; 则x的值为( )。
A. 15B. 20C. 25D. 304. 定义如下变量和数组:int i, x[3][3]={1,2,3,4,5,6,7,8,9};则下面语句for(i=0;i<3;i++) printf("%d",x[i][2-i]);的输出结果是( )。
A. 1 4 7B. 1 5 9C. 3 5 7D. 3 6 95. 下列叙述中正确的是( )。
A. 调用printf函数时,必须要有输出项B. 使用putchar函数时,必须在之前包含头文件stdio.hC. 在C语言中,整数可以以二进制、八进制或十六进制的形式输出D. getchar 函数是从标准输入设备读取一个字符6. 下列选项中,不能用作C语言合法常量的是( )。
A. 0xffB. 1e+6C. '\n'D. "Hello"7. 在C语言中,可以使用以下哪个函数来读取从键盘输入的字符?( )A. printf()B. scanf()C. gets()D. read()8. 下列运算符中优先级最高的是( )。
A. %B. /C. *D. +9. 下列结构体定义中,正确的是( )。
struct person { char name[20]; int age; };A. struct person p;B. struct person { char name[20]; int age; } p1;C. struct person p1;D. struct person p1; struct person p2;10. 在C语言中,可以使用以下哪个函数来输出字符串?( )A. printf()B. scanf()C. gets()D. puts()。
第1章C语言概述1、一个c程序的执行是从A 。
A)本程序的main函数开始,到main函数结束B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结柬C)本程序的main函数开始,到本程序文件的最后一个函数结束D)本程序文件的第一个函数开始,到本程序main函数结束2、以下叙述正确的是C。
A)在C程序中.main函数必须位于程序的最前面B)c程序的每行中只能写一条语句C)c语言本身没有输入输出语句D)在对一个c程序进行编译的过程中,可发现注释中的拼写错误3、以下叙述不正确的是D 。
A)一个c源程序可由一个或多个函数组成B)一个c源程序必须包含一个main函数C)c程序的基本组成单位是函数D)在c程序中,注释说明只能位于一条语句的后面4、c语言规定:在一个源程序中,main函数的位置C。
A)必须在最开始B)必须在系统调用的库函数的后面C)可以任意D)必须在最后5、一个c语言程序是由B 。
A)一个主程序和若干子程序组成B)函数组成C)若干过程组成D)若干子程序组成6、用C语言编写的代码程序BA) 可立即执行B) 是一个源程序C) 经过编译即可执行D) 经过编译解释才能执行7、以下叙述中正确的是BA) C语言的源程序不必通过编译就可以直接运行B) C语言中的每条可执行语句最终都将被转换成二进制的机器指令C) C源程序经编译形成的二进制代码可以直接运行D) C语言中的函数不可以单独进行编译8、以下叙述中正确的是CA) C语言是低级语言B) C语言可以不用编译就能被计算机识别执行C) C语言以接近英语国家的自然语言和数学语言作为语言的表达形式D) C语言出现的最晚,具有其他语言的一切优点9、要把高级语言编写的源程序转换为目标程序,需要使用DA) 编辑程序B) 驱动程序C) 诊断程序D) 编译程序第3章数据类型、运算符与表达式1、C语言基本类型包括D。
A.整型、实型、逻辑型B.整型、实型、字符型、逻辑型C.整型、字符型、逻辑型D.整型、实型、字符型2、C语言中的标识符只能由字母、数字、下划线三种字符组成,且第一个字符C。
A.必须为字母B.必须为下划线C.必须为字母或下划线D.可以是字母、数字、下划线中任意一种字符3、C语言中最简单的数据类型包括B 。
A.整型、实型、逻辑型B.整型、实型、字符型C.整型、字符型、逻辑型D.整型、实型、逻辑型、字符型4、若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是C。
A.-3B.9C.-12D.65、若t为double类型,表达式t=1,t+5,t++的值是D。
A.1B.6.0C.2.0D.1.06、若已定义x和y为double类型,则表达式:x=1,y=x+3/2的值是C。
A.1B.2C.2.0D.2.57、设a为5,执行下列语句后,b的值不为2的是C。
A.b=a/2B.b=6-(--a)C.b=a%2D.b=a>3?2:18、下列四组选项中,均是不合法的用户标识符的选项C。
A.AP_0doB.float goto _AC.b-a goto intD._123temp INT9、下列选项中,合法的C语言关键字是D。
A.V ARB.cherC.integerD.default10、下面不正确的字符串常量是A。
A.‘abc‘B."12\‘12"C."0"D." "11、下面不正确的字符常量是A。
A."c"B.‘\‘‘C.…W…D.… …12、下述程序段的输出结果是A。
int x=10; int y=x++; printf("%d,%d",(x++,y),y++);A.11,10B.11,11C.10,10D.10,1113、已知各变量的类型说明如下:int k,a,b; unsigned long w=5; double x=1.42; 则以下不符合C语言语法的表达式A。
A.x%(-3)B.w+=-2C.k=(a=2,b=3,a+b)D.a+=a-=(b=D)*(a=3)14、已知字母A的ASCII编码为10进制数65,且c2为字符型,则执行语句c2=‘A‘+‘6‘-‘3‘后,c2中的值为A。
A. DB. 68C.不确定的值D. C15、以下所列的C语言常量中,错误的是B。
A.0xFFB.1.2e0.5C.2LD.…\72…16、以下叙述正确的是C。
A.在C程序中main函数必须位于程序的最前面B.C程序的每行中只能写一条语句C.C语言本身没有输入输出语D.在对一个C程序进行编译的过程中,可发现注释中的错误17、以下运算符中,运算对象必须是整型的是B。
A./B.%=C.!=D.〈=18、正确的标识符是D。
A.?aB.a=2C.a.3D.a_319、在C语言中(以16位Pc机为例),5种基本数据类型的存储空间长度的排列顺序为A。
A)char<int<1ong int<=float<double B)char=int<long int<=float<doubleC)char<int<long int=float=double D)char=int=long int<=float<double20、假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是B。
A)7 B)8 C)6 D)221、以下不正确的叙述是D。
A.在C程序中,逗号运算符的优先级最低B.在C程序中,APA和apa是两个不同的变量C.如果a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值保持D.当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值22、若x,i,j和k都是int型变量,则计算下面表达式后,x的值为C。
X=(i=4,j=16,k=32)A)4 B)16 C)32 D)5223、假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是B。
A)7 B)8 C)6 D)224、下列四组选项中,均不是c语言关键字的选项是A。
A)define IF type B)getc char printf C)include scanf case D)while go pow25、下面四个选项中,均是c语言关键字的选项是B。
A)auto enum include B)switch typedef continue C)signed union scanf D)if struct type26、下面四个选项中,均是合法整型常量的选项是A。
A)160 -0xffff 011 B)-0xcdf 01a 0xe C)-01 986.012 0668 D)-0x48a 3e5 0x27、下面四个选项中,均是合法转义字符的选项是A。
A)‘\‘‘‘\\‘‘\n‘B)‘\‘‘017‘‘\;;‘C)…018… …f… …xab… D)…\\0… …\101… …xlf…28、下面四个选项中,均是正确的八进制数或十六进制数的选项是C。
A)-10 0x8f -011 B)0abc -017 0xc C)0010 -0x11 0xf1 D)0a12 -0x123 -0xa29、己知各变量的类型说明如下:int i=8,k,a,b;unsigned long w=5; double x=1.42,y =5.2; 则以下符合C语言语法的表达式AA)a+=a-=(b=4)*(a=3) B)a=a*3=2 C)x%(-3) D)y=float(i)30、求下列算术表达的值,设x=2.5, a=7, y=4.7。
x+a%3*(int)(x+y)%2/4=2.531、求下列算术表达的值,设a=2,b=3,x=3.5,y=2.5. (float)(a+b)/2+(int)x%(int)y=3.532、写出下面赋值表达式运算后a的值,设原来a=12:(1)a+=a(2)a-=2 (3)a*=2+3 (4)a/=a+a (5)a%=(n%=2)n的值等于5 (6)a+=a-=a*=a (1) 24(2) 10 (3) 60 (4) 0 (5) 0 (6) 0第4章顺序程序设计1、有以下程序main(){ int m=0256,n=256;printf("%o %o\n",mn,n);}程序运行后的输出结果是CA) 0256 0400 B) 0256 256 C) 256 400 D) 400 4002、有以下程序main(){int a=666,b=888; printf("%d\n",a,b); }程序运行后的输出结果是BA) 错误信息B) 666 C) 888 D) 666,8883、有以下程序main( ){int x=102,y=012; printf(“%2d,%2d\n”,x,y);} 执行后输出结果是CA) 10,01 B) 02,12 C) 102,10 D) 02,104、有以下程序main(){int a; char c=10;float f=100.0; double x;a=f/=c*=(x=6.5);printf("%d %d %3.1f %3.1f\n",a,c,f,x);} 程序运行后的输出结果是BA) 1 65 1 6.5 B) 1 65 1.5 6.5 C) 1 65 1.0 6.5 D) 2 65 1.5 6.55、有定义语句:int x,y;,若要通过scanf("%d,%d",&x,&y);语句使变量x得到数值11,变量y得到数值12,下面四组输入形式中,错误的是AA) 11 12<回车>B) 11,12<回车>C) 11,12<回车>12<回车>D) 11,<回车>6、设有如下程序段:int x=2002,y=2003; printf("%d\n",(x,y)); 则以下叙述中正确的是DA) 输出语句中格式说明符的个数少于输出项的个数,不能正确输出B) 运行时产生出错信息C) 输出值为2002 D) 输出值为20037、若有以下程序段(n所赋的是八进制数)int m=32767,n=032767 printf("%d,%o/n",m,n); 执行后输出结果是AA) 32767,32767 B) 32767,032767 C) 32767,77777 D) 32767,0777778、若有以下程序段int m=0xabc,n=0xabc; m-=n; printf("%X\n",m); 执行后输出结果是CA) 0X0 B) 0x0 C) 0 D) 0XABC9、已知i、j、k为int型变量,若从键盘输入:1,2,3<回车>,使i的值为1、j的值为2、k的值为3,以下选项中正确的输入语句是CA) scanf(“%2d%2d%2d”,&i,&j,&k); B) scanf(“%d %d %d”,&i,&j,&k);C) scanf(“%d,%d,%d”,&i,&j,&k); D) scanf(“i=%d,j=%d,k=%d”,&i,&j,&k);10、设有定义:long x=-123456L;,则以下能够正确输出变量x值的语句是BA)printf(“x=%d\n”,x);B) printf(“x=%1d\n”,x);Cprintf(“x=%8dL\n”,x); D)printf(“x=%LD\n”,x);11、以下程序段的输出结果是int a=1234;printf("%2d\n",a); CA) 12 B) 34 C) 1234 D) 提示出错、无结果12、x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是BA)INPUT x、y、z; B)scanf(“%d%d%d”,&x,&y,&z);C)scanf(“%d%d%d”,x,y,z);D) read(“%d%d%d”,&x,&y,&z);13、若变量已正确说明为float类型,要通过语句scanf(“%f %f %f ”,&a,&b,&c);给a 赋于10.0,b赋予22.0,c赋予33.0,不正确的输入形式是:BA) 10<回车> 22<回车>33<回车> B) 10.0,22.0,33.0<回车>C) 10.0<回车> 22.0 33.0<回车> D) 10 22<回车> 33<回车>14、有如下程序main(){int y=3,x=3,z=1; printf(“%d %d\n”,(++x,y++),z+2); }运行该程序的输出结果是DA) 3 4 B) 4 2 C) 4 3 D) 3 315、下列程序执行后的输出结果是(小数点后只写一位)main(){double d; float f; ling l; int i; i=f=1=d=20/3; printf("%d %ld %f %f \n", i,l,f,d); } AA) 6 6 6.0 6.0 B) 6 6 6.7 6.7 C) 6 6 6.0 6.7 D) 6 6 6.7 6.016、以下说法中正确的是DA) #define和printf都是C语句B) #define是C语句,而printf不是C) printf是C语句,但#define不是D) #define和printf都不是C语句17、以下程序的输出结果是main( ) { int k=17;printf("%d,%o,%x \n",k,k,k);} DA) 17,021,0x11 B) 17,17,17 C) 17,0x11,021 D) 17,21,1118、以下叙述中正确的是DA) 输入项可以是一个实型常量,如: scakf("%f",3.5);B) 只有格式控制,没有输入项,也能正确输入数据到内存,例如: scakf("a=%d,b=%d");C) 当输入一个实型数据时,格式控制部分可以规定小数点后的位数,例如: scakf("%4.2f",&f);D) 当输入数据时,必须指明变量地址,例如: scakf("%f",&f);19、若有以下定义和语句int u=010,v=0x10,w=10; printf("%d,%d,%d\n,u,v,w);则输出结果是AA) 8,16,10 B) 10,10,10 C) 8,8,10 D) 8,10,1020、请读程序片段:int i=65536; printf("%d\n",i); 上面程序片段的输出结果是BA) 65536 B) 0 C) 有语法错误,无输出结果D) -121、若x和y都是int型变量,x=100,y=200,且有下面的程序片段:printf("%d",(x,y));上面程序片段的输出结果是AA) 200 B) 100 C) 100 200 D) 输出格式符不够,输出不确定的值22、请读程序:#include<stdio.h> main(){ int a; float b, c; scanf("%2d%3f%4f",&a,&b,&c); printf("\na=%d, b=%f, c=%f\n", a, b, c); }若运行时从键盘上输入9876543210<CR>(<CR>表示回车),则上面程序的输出结果是CA) a=98, b=765, c=4321 B) a=10, b=432, c=8765C) a=98, b=765.000000, c=4321.000000 D) a=98, b=765.0, c=4321.023、以下程序的输出结果是。