C语言选择题题库2
- 格式:doc
- 大小:193.50 KB
- 文档页数:35
c语言二级考试题库及详解答案C语言二级考试题库及详解答案一、选择题1. 在C语言中,以下哪个选项是合法的标识符?A. 2variableB. variable2C. 3numberD. variable#答案:B2. C语言中,整型变量int所占的字节数是:A. 1字节B. 2字节C. 4字节D. 8字节答案:C(注:实际字节数可能因编译器和平台而异,但通常为4字节)3. 下列哪个不是C语言的控制语句?A. ifB. switchC. forD. goto答案:B(注:switch也是C语言的控制语句,此题有误)二、填空题1. 在C语言中,若要定义一个整型数组,可以使用以下语法:___________。
答案:int array_name[array_size];2. C语言中,用于计算两个数的乘积的运算符是:___________。
答案:*三、简答题1. 简述C语言中数组和指针的区别。
答案:数组是一种数据结构,用于存储相同类型的元素集合。
指针是一个变量,它存储了另一个变量的内存地址。
数组名可以作为指针使用,但数组本身不是指针。
数组的大小在定义时确定,而指针可以指向不同大小的内存块。
2. 解释C语言中的递归函数。
答案:递归函数是一种函数,它在执行过程中调用自己。
递归函数通常用于解决可以分解为相似子问题的问题。
递归函数必须有一个明确的终止条件,以避免无限递归。
四、编程题1. 编写一个C语言程序,实现求1到100的和。
答案:```c#include <stdio.h>int main() {int sum = 0, i;for(i = 1; i <= 100; i++) {sum += i;}printf("1到100的和是:%d\n", sum);return 0;}```2. 编写一个C语言函数,实现字符串反转。
答案:```cvoid reverseString(char *str) {int len = 0;while(str[len] != '\0') {len++;}for(int i = 0; i < len / 2; i++) {char temp = str[i];str[i] = str[len - 1 - i];str[len - 1 - i] = temp;}}```五、论述题1. 论述C语言中函数的作用和重要性。
全国计算机考试二级c语言真题题库答案一、单项选择题(每题2分,共40分)1. 在C语言中,以下哪个选项是正确的数据类型?A. intB. floatC. doubleD. A、B和C都是答案:D2. 下列哪个是合法的C语言变量名?A. 2variableB. variable-nameC. _variableD. variable name答案:C3. 在C语言中,以下哪个选项表示逻辑“与”操作?A. &&B. ||C. !D. =答案:A4. 以下哪个选项是C语言中的控制语句?A. ifB. switchC. whileD. A、B和C都是5. 在C语言中,哪个函数用于计算并返回一个浮点数的平方根?A. sqrt()B. pow()C. log()D. sin()答案:A6. 在C语言中,以下哪个选项是正确的数组声明?A. int array[10];B. int array[];C. int [10] array;D. A和B都是答案:D7. 在C语言中,以下哪个选项是正确的字符串声明?A. char str[] = "Hello";B. char str[6] = "Hello";C. char str = "Hello";D. A和B都是答案:D8. 在C语言中,以下哪个选项是正确的函数声明?A. void function();B. int function();C. void function(int a);D. A、B和C都是答案:D9. 在C语言中,以下哪个选项表示“或”逻辑操作?B. ||C. !D. =答案:B10. 在C语言中,以下哪个选项是正确的结构体声明?A. struct {int id;char name[50];} employee;B. struct employee {int id;char name[50];};C. A和B都是D. A和B都不是答案:C11. 在C语言中,以下哪个选项是正确的指针声明?A. int *ptr;B. int ptr[];C. int *ptr = NULL;D. A和C都是答案:D12. 在C语言中,以下哪个选项是正确的文件操作函数?A. fopen()B. fclose()C. fprintf()D. A、B和C都是13. 在C语言中,以下哪个选项表示“非”逻辑操作?A. &&B. ||C. !D. =答案:C14. 在C语言中,以下哪个选项是正确的枚举类型声明?A. enum Color {Red, Green, Blue};B. enum {Red, Green, Blue} color;C. A和B都是D. A和B都不是答案:C15. 在C语言中,以下哪个选项是正确的宏定义?A. #define PI 3.14159B. const double PI = 3.14159;C. A和B都是D. A和B都不是答案:A16. 在C语言中,以下哪个选项是正确的联合体声明?A. union {int a;float b;} data;B. struct {int a;float b;C. A和B都是D. A和B都不是答案:A17. 在C语言中,以下哪个选项是正确的位运算符?A. &B. |C. ^D. A、B和C都是答案:D18. 在C语言中,以下哪个选项是正确的类型转换?A. (int)3.14B. (float)3C. A和B都是D. A和B都不是答案:C19. 在C语言中,以下哪个选项是正确的递归函数声明?A. void function();B. void function(int a);C. void function(void function());D. A和B都是答案:B20. 在C语言中,以下哪个选项是正确的预处理指令?A. #includeB. #defineC. #ifdefD. A、B和C都是二、程序填空题(每题5分,共20分)1. 请填写以下代码段中缺失的部分,以实现计算并打印一个整数的平方:```c#include <stdio.h>int main() {int num, square;scanf("%d", &num);square = num _____ num;printf("Square: %d\n", square);return 0;}```答案:*2。
计算机二级c语言试题题库及答案一、单项选择题(每题2分,共20分)1. 在C语言中,用于定义变量的关键字是()。
A. defineB. varC. intD. let答案:C2. 下列关于C语言函数的描述,不正确的是()。
A. 函数可以没有参数B. 函数可以返回值C. 函数必须有返回值D. 函数可以嵌套定义答案:C3. 以下哪个选项不是C语言中的运算符()。
A. %B. &&C. ++D. :答案:D4. 在C语言中,用于定义一个结构体的关键字是()。
A. structB. unionC. enumD. typedef答案:A5. C语言中,用于表示逻辑与的运算符是()。
A. &&B. ||C. !D. =答案:A二、填空题(每题2分,共20分)1. 在C语言中,定义一个整型数组的语句是:int array[10]; 其中array[0]的值默认为____。
答案:02. 如果一个函数的返回类型是int,那么在函数体中必须包含一条____语句。
答案:return3. 在C语言中,用于计算字符串长度的函数是____。
答案:strlen4. C语言中,用于将字符数组转换为字符串的字符是____。
答案:'\0'5. 当使用指针变量时,必须先对其进行____。
答案:初始化三、编程题(每题10分,共20分)1. 编写一个C语言函数,实现两个整数的交换。
```cvoid swap(int *a, int *b) {int temp = *a;*a = *b;*b = temp;}```2. 编写一个C语言程序,计算并输出100以内所有偶数的和。
```c#include <stdio.h>int main() {int sum = 0;for (int i = 1; i <= 100; i++) {if (i % 2 == 0) {sum += i;}}printf("Sum of even numbers from 1 to 100 is: %d\n", sum); return 0;}```四、简答题(每题10分,共40分)1. 简述C语言中指针和数组的关系。
期末c语言考试题库及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 下列哪个选项是合法的C语言变量名?A. 2nd_variableB. _variableC. variable-nameD. variable$name答案:C3. 在C语言中,以下哪个函数用于将字符串转换为浮点数?A. atoiB. atofC. itoaD. sprintf答案:B4. 下列哪个选项是C语言中的逻辑运算符?A. &&B. ||C. ==D. =答案:A5. C语言中,以下哪个关键字用于定义一个函数?A. classB. functionC. intD. void答案:C6. 在C语言中,以下哪个选项表示“不等于”?A. ==B. !=C. =D. <=答案:B7. 下列哪个选项是C语言中的循环结构?A. ifB. forC. switchD. case答案:B8. 在C语言中,以下哪个函数用于计算字符串的长度?A. strlenB. strcpyC. strcatD. strcmp答案:A9. C语言中,以下哪个关键字用于定义一个指针?A. *B. &C. %D. #答案:A10. 下列哪个选项是C语言中的数组?A. int a[10];B. int *a;C. int a=10;D. int a;答案:A二、填空题(每题2分,共10分)1. 在C语言中,用于定义一个字符常量的数据类型是______。
答案:char2. 在C语言中,用于定义一个整型变量的数据类型是______。
答案:int3. 在C语言中,用于定义一个浮点型变量的数据类型是______。
答案:float4. 在C语言中,用于定义一个双精度浮点型变量的数据类型是______。
答案:double5. 在C语言中,用于定义一个布尔型变量的数据类型是______。
c语言程序设计考试题库及答案1. 选择题1.1 下列关于C语言的描述,错误的是:A. C语言是一种过程式编程语言B. C语言支持面向对象编程C. C语言支持结构化编程D. C语言具有丰富的库函数答案:B1.2 在C语言中,以下哪个关键字用于定义一个函数?A. structB. intC. voidD. function答案:C1.3 下列选项中,哪个不是C语言中的合法变量名?A. _myVarB. myVar2C. 2ndVarD. var$答案:D2. 填空题2.1 在C语言中,用于定义一个整型变量的关键字是______。
答案:int2.2 C语言中,用于输入数据的库函数是______。
答案:scanf2.3 C语言中,用于输出数据的库函数是______。
答案:printf3. 简答题3.1 简述C语言中数组的定义方式。
答案:在C语言中,数组可以通过指定数据类型和数组大小来定义。
例如,定义一个整型数组可以写作:int arrayName[arraySize];。
3.2 解释C语言中的指针是什么,并给出一个指针的定义示例。
答案:指针是一种变量,它存储的是另一个变量的内存地址。
定义指针的示例:int *ptr; 这里ptr是一个整型指针。
4. 编程题4.1 编写一个C语言程序,计算并输出100以内所有偶数的和。
答案:```c#include <stdio.h>int main() {int sum = 0;for (int i = 1; i <= 100; i++) {if (i % 2 == 0) {sum += i;}}printf("Sum of even numbers from 1 to 100 is: %d\n", sum);return 0;}```4.2 编写一个C语言函数,实现字符串反转的功能。
答案:```cvoid reverseString(char *str) {int length = 0;while (str[length] != '\0') {length++;}for (int i = 0; i < length / 2; i++) {char temp = str[i];str[i] = str[length - i - 1];str[length - i - 1] = temp;}}```。
计算机二级c语言试题题库及答案一、选择题1. 在C语言中,下列哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 以下哪个函数用于将字符串从源地址复制到目标地址?A. strcpyB. strncpyC. strcatD. strcmp答案:A3. C语言中,用于声明一个变量的关键字是:A. varB. varibleC. letD. int答案:D二、填空题1. 在C语言中,定义一个整型数组的语句是:________。
答案:int array_name[size];2. 若一个函数的返回类型为void,则该函数______。
答案:不返回任何值3. 在C语言中,使用________关键字可以定义一个全局变量。
答案:extern三、简答题1. 简述C语言中指针的作用。
答案:指针在C语言中用于存储变量的内存地址,通过指针可以间接访问和操作变量的值。
2. 解释C语言中的递归函数。
答案:递归函数是指函数在其定义中调用自身的函数。
递归函数通常用于解决可以分解为相似子问题的复杂问题。
四、编程题1. 编写一个C语言程序,实现两个整数的加法。
```c#include <stdio.h>int add(int a, int b) {return a + b;}int main() {int num1, num2, sum;printf("Enter two numbers: ");scanf("%d %d", &num1, &num2);sum = add(num1, num2);printf("Sum of %d and %d is %d.\n", num1, num2, sum); return 0;}```2. 编写一个C语言程序,实现字符串反转。
```c#include <stdio.h>#include <string.h>void reverseString(char* str) {int length = strlen(str);for (int i = 0; i < length / 2; i++) { char temp = str[i];str[i] = str[length - i - 1];str[length - i - 1] = temp;}}int main() {char str[] = "Hello, World!";reverseString(str);printf("Reversed string: %s\n", str); return 0;}```。
湖北汽车工业学院C语言考试题库(选择题)1、C语言中下列叙述正确的是______。
A.不能使用do-while语句构成循环B.do-while语句构成的循环,必须用break语句才能退出C.do-while语句构成的循环,当while语句中的表达式值为非零时结束循环D.do-while语句构成的循环,当while语句中的表达式值为零时结束循环标准答案:D本题的考查点是do-while语句。
选项A是错误的,C语言支持do-while语句;选项B是错误的,do-while构成的循环,当while语句中的表达式值为零时结束循环,而不是非零;选项C也是错误的。
故本题答案为D。
2、能正确表示a和b同时为正或同时为负的逻辑表达式是______。
A.(a>=0||b>=0)&&(a<0|| b<0)B.(a>=0&&b>=0)&&(a<0&&b<0)C.(a+b>0)&&(a+b<=0)D.a*b>0标准答案:D逻辑表达式是指用逻辑运算符将关系表达式或逻辑量连接起来。
选项A中,表达式表示的是a,b为异号;选项B中,表达式表示的是0,因为没有满足条件的值;选项C中,表达式表示的是0,因为没有满足条件的值;选项D表示的是a和b为同号。
故本题答案为D。
3、请选出可用作C语言用户标识符的一组标识符______。
① void ② a3_b3 ③ For ④ 2adefine _123 _abc DOWORD IF case sizeofA.1B.2C.3D.4标准答案:B本题的考查点是C语言的标识符。
C语言规定标识符只能由字母、数字和下划线三种符号组成,而且第一个字符必须是字母或下划线。
①中的void和define都和C语言的关键字重名,不合法;③中的case和C语言的关键字重名,不合法;④中的2a是数字打头而且sizeof和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.结构化程序设计所规定的三种基本控制结构是()。
1、C语言的if语句,当条件表达式为真时执行的语句是:A、else后的语句B、if后的语句C、不执行语句D、if和else后的语句都执行B2、若分支结构的某个分支需要多个语句时,必须使用一个复合语句,所谓的复合语句是:A、一个语句B、用{}括起来的多个语句C、两个语句D、多个语句B3、判断char型变量c1是否为小写字母的最简单且正确的表达式是:A、’a’<=c1<=’z’B、(c1>=a)&&(c1<=z)C、(c1>’a’)&&(c1<’z’)D、(c1>=’a’)&&(c1<=’z’)D4、判断char型变量c1是否为数字0-9字符最简单且正确的表达式是:A、’0’<=c1<=’9’B、(c1>=0)&&(c1<=9)C、(c1>’0’)&&(c1<’9’)D、(c1>=’0’)&&(c1<=’9’)5、以下不正确的If语句是:A、if(x>y);B、if(x!=y) scanf (“%d”,&x) else scanf (“%d”,&y);C、if(x==y) x+=y;D、if(x<y){x++;y++;}B6、以下关于switch语句和break语句的描述中,正确的是:A、在switch语句中必须使用break语句B、break语句只能用于switch语句中C、在switch语句中,可以根据需要使用或不使用break语句D、break语句是switch语句的一部分C7、以下关于if语句的描述错误的是:A、条件表达式可以是任意的表达式B、条件表达式只能是关系或逻辑表达式C、条件表达式的括号不可以省略D、与else配对的if语句是其之前最近的未配对的if语句B8、程序设计的三种基本结构是A、顺序结构、选择结构、分支结构B、递归结构、选择结构、循环结构C、顺序结构、逻辑结构、循环结构D、顺序结构、选择结构、循环结构D填空题1、下列程序的运行结果是___________________#include "stdio.h"main(){int x=1,a=0,b=0;switch(x){case 0: b++;case 1:a++;case 2:a++;b++;}Printf(“a=%d,b=%d\n”,a,b);}a=2,b=12、下列程序的运行结果是___________________#include "stdio.h"main(){ int a=1,b=3,c=5;If(c=a+b) printf(“yes\n”);else printf(“no\n”);}yes3、若输入为:-1 -2,下列程序的运行结果是___________________ #include "stdio.h"main(){ int a,b,m,n;scanf(“%d%d”,&a,&b);m=1;n=1;if(a>0) m=m+n;if(a<b) n=2*m;else if(a==b) n=5;else m=m+n;printf(“m=%d n=%d\n”,m,n);}m=2 n=14、下列程序的运行结果是___________________#include "stdio.h"main(){ int a=100;If(a>0) printf(“%d\n”,a>100);else printf(“%d\n”,a<=100);}5、下列程序的运行结果是___________________#include "stdio.h"main(){ int n=0,m=1,x=2;if(!n) x-=1;if(m) x-=2;if(x) x-=3;printf(“%d\n”,x);}-46、下列程序的运行结果是___________________#include "stdio.h"main(){ int m=5;if(m++>5) printf(“%d\n”,m);else printf(“%d\n”,m--);}6编程题1、判断整数N能否同时被3和7整除,如果能则打印“YES”,否则打印“NO”。
c语言考试题库及答案C语言考试题库及答案一、选择题1. C语言中,用于表示逻辑“与”操作的关键字是()。
A. &&B. ||C. &D. or答案:A2. 下列哪个选项是C语言中的合法整型常量?A. 0x10FB. 01FC. 8181D. 0.8181答案:A3. 在C语言中,定义一个字符变量可以使用哪种数据类型?A. intB. floatC. charD. double答案:C4. 下列哪个函数用于计算字符串的长度?A. strlen()B. strcmp()C. strcpy()D. printf()答案:A5. C语言中,若要交换两个变量的值,通常使用哪种方法?A. 递归调用B. 位运算C. 三元运算符D. 临时变量答案:D二、填空题1. 在C语言中,使用关键字________声明一个全局变量。
答案:extern2. 一个C语言程序的执行是从________函数开始的。
答案:main3. 在C语言中,使用________运算符可以实现对整型数值的强制类型转换为浮点型。
答案:(float)4. 为了在C语言中定义一个无限循环,可以使用________语句。
答案:while(1)5. 当需要在C语言中动态分配内存时,可以使用函数________。
答案:malloc三、判断题1. C语言中的数组下标是从1开始的。
(错)答案:错2. 在C语言中,函数可以作为另一个函数的参数传递。
(对)答案:对3. C语言中,结构体是一种可以包含不同数据类型成员的用户自定义数据类型。
(对)答案:对4. 使用C语言编写的程序在运行时,所有的变量存储在堆内存中。
(错)答案:错5. C语言中的指针变量必须在使用前初始化。
(错)答案:错四、简答题1. 请简述C语言中的指针和引用的主要区别。
答案:指针是一个变量,其值为另一个变量的地址,而引用是另一个变量的别名,它必须在定义时初始化,并且不能重新指向其他变量。
(完整版)C语言考试题库及答案一、选择题1. 以下哪个选项是C语言的合法标识符?A. intB. 2abcC. voidD. a+b答案:C2. 在C语言中,下列哪个选项是正确的数据类型?A. floatB. integerC. doubleD. All of the above答案:D3. 若变量定义如下:int a = 5;,则执行语句printf("%d", a++); 后,a的值是多少?A. 4B. 5C. 6D. 无法确定答案:C4. 以下哪个函数用于动态分配内存?A. malloc()B. alloc()C. new()D. calloc()答案:A5. 在C语言中,哪个运算符用于取模(取余)?A. %B. /C. &D. |答案:A以下是判断题部分:6. C语言中的数组名可以作为指向该数组首元素的指针使用。
()答案:正确7. 在C语言中,结构体变量可以作为函数的参数传递。
()答案:正确8. 在C语言中,静态存储类别的变量在程序运行期间始终占据内存空间。
()答案:正确二、填空题9. 在C语言中,定义一个整型变量需要使用关键字______。
答案:int10. 若变量定义如下:int a = 10;,则执行语句printf("%d", a--); 后,a的值是______。
答案:911. 在C语言中,用于动态分配内存的函数是______。
答案:malloc12. 在C语言中,用于释放动态分配的内存的函数是______。
答案:free13. 在C语言中,用于清空标准输入缓冲区的函数是______。
答案:getchar()三、编程题14. 编写一个C语言程序,实现以下功能:输入一个整数,输出它的阶乘。
答案:```c#include <stdio.h>int main() {int n, i;long factorial = 1;printf("Enter an integer: ");scanf("%d", &n);if (n < 0) {printf("Factorial of a negative number doesn't exist.\n");} else {for (i = 1; i <= n; i++) {factorial = i;}printf("Factorial of %d is %ld\n", n, factorial);}return 0;}```15. 编写一个C语言程序,实现以下功能:输入一个字符串,判断它是否是回文(正读和反读都一样的字符串)。
c语言c语言考试题库及答案一、选择题1. 在C语言中,用于定义变量的关键字是:A. defineB. varC. intD. let答案:C2. 下列哪个是C语言中的合法标识符?A. 2variableB. variable2C. variable-twoD. variable#答案:B3. 在C语言中,哪个运算符用于计算两个数的乘积?A. +B. -C. *D. /答案:C4. C语言中,以下哪个是正确的字符串字面量?A. "Hello World"B. 'Hello World'C. "Hello\nWorld"D. "Hello\tWorld"答案:A5. 以下哪个是C语言中的控制语句?A. ifB. switchC. both A and BD. none of the above答案:C二、填空题6. 在C语言中,一个基本的程序结构包括____、____和____。
答案:预处理指令;函数定义;语句7. 一个C语言程序的执行从____函数开始。
答案:main8. 在C语言中,使用____关键字可以定义一个函数。
答案:void 或其他数据类型9. 一个C语言数组的元素默认情况下是按照____顺序存储的。
答案:连续10. C语言中的____运算符用于连接字符串。
答案:+三、简答题11. 解释C语言中指针的概念。
答案:指针是一种变量,它存储了另一个变量的内存地址。
通过指针,可以直接操作内存地址中的数据,实现数据的间接引用。
12. 描述C语言中结构体的定义和使用。
答案:结构体是一种用户自定义的数据类型,它允许将多个不同类型的变量组合成一个单一的类型。
定义结构体时,使用struct关键字,然后定义结构体的名称和成员。
使用结构体时,可以创建结构体变量,并通过点(.)运算符访问其成员。
四、编程题13. 编写一个C语言程序,计算并输出1到100的整数之和。
本卷共有4道大一、单项选择题(25道小题,共50分)1、以下说法中正确的是(C)(2分)A、C语言程序总是从第一个的函数开始执行B、在C语言程序中,要调用的函数必须在main()函数中定义C、C语言程序总是从main()函数开始执行D、C语言程序中的main()函数必须放在程序的开始部分2、一个算法应该具有“确定性”等五个特性,下面对另外4个特性的描述中错误的是(B)(2分)A、有零个或多个输入B、有零个或多个输出C、有穷性D、可行性3、以下选项中,不合法常量的是(B)(2分)A、1.234e04B、1.234e0.4C、1.234e+4D、1.234e04、C语言中最简单的数据类型包括(B)(2分)A、整型、实型、逻辑型B、整型、实型、字符型C、整型、字符型、逻辑型D、整型、实型、逻辑型、字符型5、能正确表示逻辑关系:“10≥=a≥=0”的C语言表达式是 (D)(2分)A、 10>=a>=0B、 a>=0 and a<=10C、 a>=0||a<=10D、 a>=0&&a<=106、设a和b均为double型变量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是(D)(2分)A、 6.500000B、 6C、 5.500000D、 6.0000007、x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是(B)(2分)A、 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);8、设x和y均为int型变量,则以下语句:x+=y;y=x-y;x-=y;的功能是(D)(2分)A、把x和y按从大到小排列B、把x和y按从小到大排列C、无确定结果D、交换x和y中的值9、若有以下程序段:int c1=1,c2=2,c3;c3=1.0/c2*c1;则执行后,c3中的值是(A)(2分)A、 0B、 0.5C、 1D、 210、设char ch='A';则ch=(ch>='A'&&ch<='Z')?(ch+32):ch的值是( B )。
C语言选择题题库2第1章 C语言程序设计概述一.选择题1.以下叙述中正确的是(A)A.C语言程序中注释部分可以出现在程序中任意合适的地方B.花括号“{”和“}”只能作为函数体的定界符C.构成C语言程序的基本单位是函数,所有函数名都可以由用户命名D.分号是C语言语句之间的分隔符,不是语句的一部分 2.以下叙述中错误的是(A)A.用户所定义的标识符允许使用关键字B.用户所定义的标识符应尽量做到“见名知意”C.用户所定义的标识符必须以字母或下划线开头D.用户所定义的标识符中,大,小写字母代表不同标识 3.下列关于C语言用户标识符的叙述中正确的是(B) A.用户标识符中可以出现下划线和中划线(减号) B.用户标识符中不可以出现中划线,但可以出现下划线C.用户标识符中可以出现下划线,但不可以放在用户标识符的开头D.用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头 4.以下关于C语言标识符的描述中,正确的是(D) A.标识符可以由汉子组成 B.标识符只能以字母开头C.关键字可以作为用户标识符D.Area与area是不同的标识符 5.以下正确叙述是(C)A.在C语言中,main函数必须位于文件的开头B.C语言每行只能写一条语句C.C语言本身没有输入,输出语句D.对一个C语言进行编译预处理时,可检查宏定义的语法错误 6.下面说法正确的是(C)A.C程序由符号构成B.C程序由标识符构成C.C程序由函数构成D.C程序由C 语句构成 7.以下叙述不正确的是(D)A.一个C源程序可以由一个或多个函数组成B.一个C源程序必须包含一个main函数C.C程序的基本组成单位是函数D.在C程序中,注释说明只能位于一条语句后面8.C语言规定:在一个源程序中,main函数的位置可以任意 9.以下不能定义为用户标识符的是(D) A.scanf B.Void C._3com D.int10.以下不合法的用户标识符是(C) A。
第1章C语言程序设计概述一.选择题1.以下叙述中正确的是(A)A.C语言程序中注释部分可以出现在程序中任意合适的地方B.花括号“{”和“}”只能作为函数体的定界符C.构成C语言程序的基本单位是函数,所有函数名都可以由用户命名D.分号是C语言语句之间的分隔符,不是语句的一部分2.以下叙述中错误的是(A)A.用户所定义的标识符允许使用关键字B.用户所定义的标识符应尽量做到“见名知意”C.用户所定义的标识符必须以字母或下划线开头D.用户所定义的标识符中,大,小写字母代表不同标识3.下列关于C语言用户标识符的叙述中正确的是(B)A.用户标识符中可以出现下划线和中划线(减号)B.用户标识符中不可以出现中划线,但可以出现下划线C.用户标识符中可以出现下划线,但不可以放在用户标识符的开头D.用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头4.以下关于C语言标识符的描述中,正确的是(D)A.标识符可以由汉子组成B.标识符只能以字母开头C.关键字可以作为用户标识符D.Area与area是不同的标识符5.以下正确叙述是(C)A.在C语言中,main函数必须位于文件的开头B.C语言每行只能写一条语句C.C语言本身没有输入,输出语句D.对一个C语言进行编译预处理时,可检查宏定义的语法错误6.下面说法正确的是(C)A.C程序由符号构成B.C程序由标识符构成C.C程序由函数构成D.C程序由C语句构成7.以下叙述不正确的是(D)A.一个C源程序可以由一个或多个函数组成B.一个C源程序必须包含一个main函数C.C程序的基本组成单位是函数D.在C程序中,注释说明只能位于一条语句后面8.C语言规定:在一个源程序中,main函数的位置可以任意9.以下不能定义为用户标识符的是(D)A.scanfB.V oidC._3comD.int10.以下不合法的用户标识符是(C)A。
j2_KEY B.Double C.4d D._8_11.下列四组选项中,均不是C语言关键字的是(A)A.define IF typeB.getc char printfC.include scanf caseD.while go pow12.以下不能定义为用户标识符的是(D)A.MainB._0C._intD.sizeof13.以下不合法的用户标识符是(C)A。
j2_KEY B.Double C.4d_8_ D.main14.以下选项中合法的用户标识符是(B)A.longB._2TestC.3DmaxD.A.dat15.以下选项中不合法的用户标识符是(A)A.abc.cB.fileC.MainD.Printf16.以下选项中不合法的用户标识符是(C)A._12AbB.includeC.3abcD.Int17.以下叙述正确的是(B)A.可以把define和if定义为用户标识符B.可以把define定义为用户标识符,但不能把if定义为用户标识符C.可以把if定义为用户标识符,但不能define定义为用户标识符D.define和if都不能定义为用户标识符18.一个C语言的执行是从(A)A.本程序的main函数开始,到main函数结束B.本程序文件中的第一个函数开始,到本程序文件的最后一个函数结束C.本程序的main函数开始,到本程序文件的最后一个函数结束D.本程序文件的第一个函数开始,到本程序main函数结束19.C语言程序的基本单位是语句20.以下叙述中正确的是(C)A.程序应尽可能短B.为了编程的方便,应当根据编程人员的意图使程序的流程随意转移C.虽然注释会占用较大篇幅,但程序中还是应尽可能详细地注释D.在VC环境下,运行的程序就是源程序二填空题1.C语言程序是由函数构成的,其中并且只有一个主函数。
C语言程序的执行总是由主函数开始,并且在主函数中结束。
2.C语言源程序文件的扩展名是.C 经过编译后,生成的扩展名是.OBJ,经过连接后,生成的扩展名是.EXE。
3.C语言的函数体由“{”开始,用符号“}”结束;函数体的前面是变量说明部分,其后是执行语句部分。
4.一个C源程序中至少应包括一个主函数5.C语言程序的注释是以/*开头,以*/结束的。
注释对程序运行不起任何作用。
第2章数据类型与表达式一选择题1.以下选项中不属于C语言的类型的是(D)A.signed short intB.unsigned long intC.ungned intD.long short2.以下选项中可作为C语言合法整数的是(C)A.10110BB.0386C.0xffaD.x2a23.以下选项中合法的实型常数是(C)A.5E2.0B.E-3C.2E0D.1.3E4.以下选项中属于C语言的数据类型是(A)A.复数型B.逻辑数C.双精度型D.集合型5.以下选项中合法的字符常量是(B)A.“B”B.‘\010'C.68D.D6.下面正确的字符常量是(C)A.“c”B.‘\\'C.‘W'D.‘’7.下面不正确的字符串常量是(A)A.‘abc'B.“12‘12”C.“0”D.“”8.在C语言中,char型数据在内存中的存储形式是(D)A.补码B.反码C.原码D.ASCII码9.以下所列的C语言常量中,错误的是(B)A.0xFFB.1.2e0.5C.2LD.‘\72'10.表达式3.6-5/2+1.2+5%2的值是(D)A.4.3B.4.8C.3.3D.3.811.有以下定义语句:double a,b;int w;long c;若各变量已正确赋值,则以下选项中在的表达式是(C)A.a=a+b=b++B.w%((int)a+BC.(c+w)%(int)aD.w=a%b12.有以下程序#include<stdio.h> main() {int m=12,n=34;printf(“%d%d,m++,n++);printf(“%d%d\n”,n++,++m);}程序运行后的结果是(C)A.12353514B.12353513C.12343514D.1234351313有以下程序:#include<stdio.h> main() {int a1=3,a2=9;printf(“%d\n”,(a1,a2));}以下叙述中正确的是(B)A.格式输出3B.程序输出9C.格式说明符不足,编译出错D.程序运行时产生错误信息14..有以下程序#include<stdio.h> main() {int x,y,z;x=y=1;z=x++,y++,++y;printf(“%d,%d,%d\n”,n,y,z);}程序运行后的结果是(C)A.2,3,3B.2,3,2C.2,3,1D.2,2,115.若有定义:int a=8,b=5,c;执行语句“c=a/b+0.4;”后,c的值为116.若变量a是int类型,并执行了语句:a=‘A’+1.6;则正确的叙述是(D)A.a的值是字符CB.a的值是浮点型C.不允许字符型和浮点型相加D.a的值是字符‘A'的ASCII值加上117.下列语句中,正确的语句是(C)A.int x=y=Z==0B.int Z=(x+y)++C.x=+3==2D.x%=2.518.以下能正确地定义整型变量a,b和c,并为它们赋初值5的语句是(C)A.int a=b=c=5B.int a,b,c=5C.int a=5,b=5,c=5D.a=b=c=519.已知各变量的类型说明如下: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+BD.a+=a-=(b=4)*(a=2)20.若有说明语句:char='\72';则变量c(A)A.包含1个字符B.包含2个字符C.包含3个字符D.说法不合法,c的值不确定21.假定w,x,y,z,m均为int型变量,有如下程序段: w=1;x=2;y=3;Z=4;m=(w<x)?w:x;m=(m<y)?m:y;m=(m<Z)?m:Z;则该程序运行后,m的值是(C)A.4B.3C.1D.222.若x,i,j和k都是int型变量,则计算下面表达式x=(i=4,j=16,k=32)后,x的值为(C)A.4B.16C.32D.5223.假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是(B)A.7B.8C.6D.224.设以下变量均为int类型,则值不等于7的表达式是(C)A.(x=y,x+y,x+1)B.(x=y=6,x+y,y+1)C.(x=6,x+1,y=6,x+y)D.(y=6,y+1,x=y,x+1)25.下列关于运算符优先顺序的描述中正确的是赋值运算符〈逻辑运算符〈关系运算符〈算术运算符26.若有代数式bc/3ac,则不正确的C语言表达式是(C)A.a/b/c*e*3B.3*a*e/b/cC.3*a*e/b*cD.a*e/c/b*327.已知字母A的ASCII码为十进制数65,且c2为字型符,则执行语句c2='A'+'6'-'3'后,c2中的值为6828.若以下变量均是整型,且num=sum=7;则计算表达式sum=num++,sum++,++num;后sum的值为829.设a,b,c,d,m,n均为int型变量,且a=5,b=6,c=7,d=8,m=2,n=2,则逻辑表达式(m=a>b) &&(n=c<d)运算后,n的值为230.若有定义:int a=7;float x=2.5,y=4.7,则表达式x+a%3*(int)(x+y)%2/4的值是2.500000 31.设x,y,z和k都是int型变量,则执行表达式:x=(y=4,z=16,k=32)后,x的值为3232.表达关系X<=Y<=Z的C语言表达式为(X<=Y)&&(Y<=Z)33.运行结果为4的表达式是C.int i=1,j=1;i+=j+=234.表达式(a=3*5,a*5),a+5的值是A.2035.设有整型变量a,b,c,它们的初值是1,运行表达式++a| |++b&&++c后,a,b,c的值分别是A.2,1,136.若有条件表达式(exp)?a++:b--,则以下表达式中能完全等价于表达式(exp)的是B.(exp!=0)37.当c的值不为0时,在下列选项中能正确将c的值赋给变量a,b的是C.(a=c) &&(b=c)38.若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是C.-12二填空题1.在C语言中,整数有三种表达方式:十进制数,八进制数,十六进制数。