大学c语言考试题库含答案
- 格式:doc
- 大小:159.50 KB
- 文档页数:61
大学c语言考试题库及答案一、选择题1. 下列关于C语言中变量的描述,哪个是正确的?A. 变量必须先定义后使用B. 变量的类型不能改变C. 变量可以在任何地方定义D. 所有变量都必须初始化后才能使用答案:A2. C语言中,一个整数除以另一个整数,结果是什么类型的数据?A. 整数型B. 浮点型C. 长整型D. 无符号整数型答案:A3. 在C语言中,哪个函数用于计算字符串的长度?A. strlen()B. strcpy()C. strcat()D. strcmp()答案:A4. 如果一个指针变量p指向一个int类型的变量,那么表达式*p++的值是什么?A. p指向的变量的当前值B. p指向的变量的下一个值C. p指向的变量的前一个值D. 无定义答案:A5. C语言中,以下哪个关键字用于定义一个函数?A. intB. floatC. voidD. char答案:C二、填空题1. C语言中,________关键字用于定义一个结构体。
答案:struct2. 在C语言中,________运算符用于计算两个整数的乘积。
答案:*3. 当需要频繁修改数组中的元素时,应使用________类型的数组。
答案:动态4. C语言中,________函数用于将字符串s复制到t所指向的内存空间。
答案:strcpy()5. 在C语言中,________关键字用于声明一个无限循环。
答案:for 或 while三、简答题1. 请简述C语言中数组和指针的关系。
答案:在C语言中,数组名可以作为指针使用。
数组的每个元素都可以通过数组名加上索引来访问。
指针变量可以指向数组的第一个元素,并通过指针算术来访问数组的其他元素。
数组的地址可以通过指针传递给函数,从而在函数内部访问数组。
2. 解释C语言中的“宏”是什么,并给出一个使用宏的例子。
答案:宏是C语言中的一个预处理指令,它允许定义一个可以被编译器替换的文本块。
宏通常用于定义常量、简化复杂的表达式或者创建可重复使用的代码块。
大学C语言考试题库第1章 C语言概述习题1. 单项选择题(1) C 语言是在 B 语言的根底上产生的。
A. AB. BC. DD. E(2) 在 C 语言中,每个语句必须以 D 结束。
A. 回车符B. 冒号C. 逗号D. 分号(3) 标识符和关键字间,要用 C 隔开。
A. 回车符B. 冒号C. 空格D. 分号(4) 用 C 语言编写的源文件经过编译,假设没有产生编译错误,则系统将( B )。
A. 生成可执行目标文件B. 生成目标文件C. 输出运行结果D.自动保存源文件(5) 以下说法中正确的选项是( B )。
A. 由于 C 源程序是高级语言程序,因此肯定要在 TC 软件中输入B. 由 C 源程序是字符流组成,因此可以作为文本文件在任何文本编辑的软件中输入C. 由于C 程序是高级语言程序,因此输入后即可执行D. 由于 C 程序是高级语言程序,因此它由命令组成(6) 以下说法中正确的选项是( A )。
A. C 语言程序由主函数和 0 个或多个函数组成B. C 语言程序由主程序和子程序组成C. C 语言程序由子程序组成D. C 语言程序由过程组成(7) 以下说法中错误的选项是( D )。
A. 主函数可以分为两个局部:主函数说明局部和主函数体B. 主函数可以调用任何非主函数的其他函数C. 任何非主函数可以调用其他任何非主函数D. 程序可以从任何非主函数开始执行2. 填空题(1) C 语言只有 32 个关键字和 9 种操纵语句。
(2) C 语言是一种“中级语言〞,既具有高级语言的特点又具有低级语言的特点;既适合于开发系统软件又适合于编写应用程序。
(3) 每个源程序有且只有一个主函数,系统总是从该函数开始执行C语言程序。
(4) 在 C 语言程序中同意出现的字符集是 ASCII码字符集。
(5) C 语言的程序中有特别含义的英语单词称为保存字。
(6) C 语言标识符的长度是前 8 位有效。
(7) C 语言中,标识符的定义规则是以字母或下划线为开头。
c语言大学试题及答案一、选择题(每题2分,共20分)1. 下列哪个是C语言的标准输入输出库函数?A. printf()B. scanf()C. both A and BD. None of the above答案:C2. 在C语言中,以下哪个是正确的字符串声明?A. char str[10] = "Hello";B. char str = "Hello";C. Both A and BD. None of the above答案:A3. 以下哪个是C语言中的合法标识符?A. 2variableB. variable-nameC. forD. None of the above答案:B4. 在C语言中,以下哪个语句将一个整数赋值为10?A. int num = 10;B. int = num 10;C. int num = = 10;D. None of the above答案:A5. 以下哪个是C语言中的逻辑运算符?A. &&B. ||C. Both A and BD. None of the above答案:C二、填空题(每题2分,共20分)6. 在C语言中,用于定义一个字符的关键字是________。
答案:char7. 一个C程序的执行从________函数开始。
答案:main8. 在C语言中,用于计算两个数的乘积的运算符是________。
答案:*9. 如果一个变量声明为int,它的取值范围是________。
答案:-32768 到 32767(对于16位系统)10. 在C语言中,用于结束程序的库函数是________。
答案:exit三、简答题(每题10分,共30分)11. 解释C语言中数组的声明和初始化方法。
答案:在C语言中,数组的声明包括指定数组的类型和名称,以及它包含的元素数量。
例如,int numbers[10]; 声明了一个包含10个整数的数组。
c语言考试题库及答案一、选择题1. 下列哪个关键字是C语言中定义函数的关键字?A. funcB. defC. mainD. int答案:C. main2. 下列哪个选项是C语言中的注释符号?A. //B. **C. <>D. ##答案:A. //3. 下列哪个选项是C语言中的逻辑与运算符?A. ||B. &&C. !D. <答案:B. &&二、填空题1. 完成以下C语言代码,实现两个变量的值交换。
```int a = 10;int b = 20;// 在这里填写代码printf("a = %d, b = %d", a, b);```答案:```int temp = a;a = b;b = temp;```2. 完成以下C语言代码,实现输出1~10的累加和。
```int sum = 0;int i;for (i = 1; i <= 10; i++) {// 在这里填写代码}printf("Sum = %d", sum);```答案:```sum += i;```三、编程题编写一个程序,实现输入两个整数,输出它们的最大公约数。
答案:```c#include <stdio.h>int main() {int num1, num2, i, gcd;printf("请输入两个整数:");scanf("%d %d", &num1, &num2);for (i = 1; i <= num1 && i <= num2; ++i) {if (num1 % i == 0 && num2 % i == 0) {gcd = i;}}printf("最大公约数为:%d", gcd);return 0;}```四、简答题1. C语言中的数据类型有哪些?请至少列举出5个。
一单项选择题1.(A)是构成C语言程序的基本单位。
A、函数B、过程C、子程序D、子例程2.C语言程序从 C开始执行。
A) 程序中第一条可执行语句 B) 程序中第一个函数C) 程序中的main函数 D) 包含文件中的第一个函数3、以下说法中正确的是(C)。
A、C语言程序总是从第一个定义的函数开始执行B、在C语言程序中,要调用的函数必须在main( )函数中定义C、C语言程序总是从main( )函数开始执行D、C语言程序中的main( )函数必须放在程序的开始部分4.下列关于C语言的说法错误的是(B)。
A) C程序的工作过程是编辑、编译、连接、运行B) C语言不区分大小写。
C) C程序的三种基本结构是顺序、选择、循环D) C程序从main函数开始执行5.下列正确的标识符是(C)。
A.-a1B.a[i]C.a2_iD.int t5~8题为相同类型题考点:标识符的命名规则(1)只能由字母、数字、下划线构成(2)数字不能作为标识符的开头(3)关键字不能作为标识符选项A中的“-” ,选项B中“[”与“]”不满足(1);选项D中的int为关键字,不满足(3)6.下列C语言用户标识符中合法的是( B)。
A)3ax B)x C)case D)-e2 E)union选项A中的标识符以数字开头不满足(2);选项C,E均为为关键字,不满足(3);选项D中的“-”不满足(1);7.下列四组选项中,正确的C语言标识符是(C)。
A) %x B) a+b C) a123 D) 123选项A中的“%” ,选项B中“+”不满足(1);选项D中的标识符以数字开头不满足(2)8、下列四组字符串中都可以用作C语言程序中的标识符的是(A)。
A、print _3d db8 aBcB、I\am one_half start$it 3paiC、str_1 Cpp pow whileD、Pxq My->book line# His.age选项B中的“\”,”$” ,选项D中“>”,”#”,”.”,”-”不满足(1);选项C中的while 为关键字,不满足(3)9.C语言中的简单数据类型包括(D)。
c语言考试题及答案大一一、选择题1. 下列哪个是C语言的关键字?A. intB. MainC. VarD. For答案:A. int2. C语言中,用于接收用户输入的函数是?A. print()B. scanf()C. input()D. read()答案:B. scanf()3. 下列哪个运算符用于执行求余操作?A. +B. /C. -D. %答案:D. %4. 在C语言中,以下不属于基本数据类型的是?A. intB. floatC. charD. string答案:D. string5. 以下哪个循环结构在执行前判断条件是否满足?A. for循环B. while循环C. do-while循环D. switch语句答案:B. while循环二、填空题1. C语言中,用于定义常量的关键字是__const__。
2. 在C语言中,用于将字符转换为整数的函数是__atoi__。
3. 在C语言中,用于声明一个变量但不对其进行初始化的关键字是__extern__。
4. 在C语言中,用于定义一段预处理指令的关键字是__define__。
三、编程题1. 编写一个C语言程序,判断一个输入的整数是否为质数。
如果是质数,则输出"Yes",否则输出"No"。
```c#include <stdio.h>int isPrime(int n);int main() {int num;printf("请输入一个整数:");scanf("%d", &num);if (isPrime(num)) {printf("Yes\n");} else {printf("No\n");}return 0;}int isPrime(int n) {if (n <= 1) {return 0;}for (int i = 2; i * i <= n; i++) {if (n % i == 0) {return 0;}}return 1;}```四、简答题1. 请说明C语言中的指针和数组的关系。
大一c语言考试题及答案详解大一C语言考试题及答案详解一、选择题(每题2分,共20分)1. C语言中,以下哪个是正确的数据类型?A. IntegerB. intC. floatD. all of the above答案:D2. 下列哪个运算符不能用于整数和浮点数的运算?A. 加(+)B. 减(-)C. 乘(*)D. 模(%)答案:D3. 在C语言中,以下哪个关键字用于定义函数?A. ifB. forC. functionD. void答案:D4. C语言中,哪个函数用于计算并返回一个浮点数的平方根?A. sqrt()B. pow()C. abs()D. log()答案:A5. 在C语言中,以下哪个是正确的数组声明语句?A. int numbers[];B. int [10] numbers;C. Both A and BD. None of the above答案:C6. 以下哪个语句可以正确地交换两个变量的值?A. a = a + b;B. a = a - b;C. a = a / b;D. a = a + b; b = a - b; a = a - b;答案:D7. C语言中,哪个预处理指令用于包含头文件?A. #includeB. #importC. #include_onceD. #header答案:A8. 在C语言中,哪个关键字用于声明一个指针变量?A. varB. pointerC. ptrD. * (asterisk)答案:D9. 下列哪个不是C语言中的控制结构?A. if-elseB. switch-caseC. whileD. goto答案:D10. C语言中,以下哪个函数用于将整数转换为字符串?A. intToString()B. itoa()C. toStr()D. None of the above答案:B二、填空题(每空2分,共20分)1. 在C语言中,字符常量用________表示。
大学c语言考试题及答案一、选择题(每题2分,共20分)1. 下列哪个关键字用于定义一个结构体?A. intB. structC. floatD. char答案:B2. C语言中,哪个函数用于计算并返回字符串的长度?A. strlen()B. strcpy()C. strcat()D. strcmp()答案:A3. 如果变量`a`的类型是`int`,那么表达式`a += a -= a;`执行后,`a`的值是多少?A. 0B. -1C. 1D. 无法确定答案:B4. 在C语言中,以下哪个不是合法的用户定义的标识符?A. _classB. 2DArrayC. caseD. float答案:C5. 下列哪项不是C语言的标准输入输出库函数?A. printf()B. scanf()C. getchar()D. open()答案:D6. C语言中,`sizeof`运算符的返回类型是什么?A. intB. longC. size_tD. double答案:C7. 在C语言中,以下哪个是正确的字符串字面量?A. "Hello, World!"B. 'Hello, World!'C. Hello, World!D. {"Hello, World!"}答案:A8. 下列哪个语句可以正确地从标准输入读取一个整数?A. int x; gets(x);B. int x; scanf("%d", &x);C. int x; read("%d", &x);D. int x; input("%d", &x);答案:B9. C语言中,全局变量的生命周期是?A. 只在定义它的函数中有效B. 只在程序的main函数中有效C. 从定义开始到程序结束D. 只在程序的某个特定部分有效答案:C10. 在C语言中,以下哪个操作符用于计算两个整数的逻辑与(AND)?A. &&B. &C. |D. ||答案:B二、填空题(每题2分,共20分)11. C语言中,用于定义一个指针变量的关键字是______。
c语言试题及答案大全一、选择题1. 下列关于C语言的说法中,正确的是:A. C语言是一种高级编程语言。
B. C语言可以被编译成机器语言执行。
C. C语言的语法和C++完全相同。
D. C语言不支持面向对象的编程。
答案:B. C语言可以被编译成机器语言执行。
2. C语言中,以下哪个是合法的标识符?A. 123abcB. abc_123C. intD. function()答案:B. abc_1233. 在C语言中,以下哪种循环结构是先判断条件后执行循环体?A. for循环B. while循环C. do-while循环D. switch语句答案:C. do-while循环二、编程题1. 编写一个C程序,计算并输出1到n之间所有整数的和。
其中,n由用户输入。
答案:#include <stdio.h>int main() {int n;int sum = 0;printf("请输入一个整数n:");scanf("%d", &n);for (int i = 1; i <= n; i++) {sum += i;}printf("1到%d之间所有整数的和为%d\n", n, sum);return 0;}2. 编写一个C程序,判断一个整数是否为素数。
素数是指除了1和自身外,无法被其他整数整除的整数。
答案:#include <stdio.h>#include <stdbool.h>bool is_prime(int num) {if (num <= 1) {return false;}for (int i = 2; i * i <= num; i++) {if (num % i == 0) {return false;}}return true;}int main() {int num;printf("请输入一个整数:");scanf("%d", &num);if (is_prime(num)) {printf("%d是素数\n", num);} else {printf("%d不是素数\n", num);}return 0;}三、应用题1. 假设有一个班级的学生信息如下:学号姓名年龄性别101 张三 18 男102 李四 17 女103 王五 16 男请根据上述学生信息,编写一个C程序,输出学生的平均年龄。
==================================================题号:1482执行以下程序段后,输出结果和a的值是()。
int a=10; printf("%d",a++);A、11 和10B、11 和11C、10 和11D、10 和10答案:C题号:2100已知字符'A'的ASCⅡ代码值是65,字符变量c1的值是'A',c2的值是'D'.执行语句printf("%d,%d",c1,c2-2);后,输出结果是A、65,66B、A,BC、65,68D、A,68答案:A题号:5055相同结构体类型的变量之间,可以()。
A、比较大小B、地址相同C、赋值D、相加答案:C题号:3217int a[10];合法的数组元素的最小下标值为()。
A、1B、0C、10D、9答案:B能正确表示逻辑关系:" a≥10或a≤0 "的C语言表达式是A、a>=0 | a<=10B、a>=10 or a<=0C、a>=10 && a<=0D、a>=10 || a<=0答案:D题号:157main(){int x=1,a=0,b=0;switch (x){ case 0: b++;case 1: a++;case 2: a++;b++;} printf("a=%d,b=%d",a,b); }该程序的输出结果是( )A、2,2B、2,1C、1,1D、1,0答案:B题号:4784设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的数据类型为()。
A、不确定B、doubleC、intD、float答案:B题号:1647以下程序中,while循环的循环次数是______main(){int i=0;while(i<10){if(i<1) continue;if(i==5) break;i++;}}A、死循环,不能确定次数B、6C、4D、1答案:A题号:191若有说明语句:char c='\72';则变量c()。
A、说明不合法,c的值不确定B、包含3个字符C、包含1个字符D、包含2个字符答案:C题号:1300下列程序运行结果为:#define P 3#define S(a) P*a*amain(){int ar;ar=S(3+5);printf("\n%d",ar);}A、192B、25C、29D、27答案:判断==================================================题号:6755若i =3,则printf("%d",-i++);输出的值为-4。
答案:错误题号:6167表达式(j=3, j++) 的值是4.答案:错误题号:1495C语言中只能逐个引用数组元素而不能一次引用整个数组。
答案:正确题号:2921参加位运算的数据可以是任何类型的数据。
答案:错误题号:2691若有int i=10,j=2;则执行完i*=j+8;后ⅰ的值为28。
答案:错误题号:464若a=3,b=2,c=1 则关系表达式"(a>b)==c" 的值为"真"。
答案:正确题号:66若有# define S(a,b) a*b 则语句area=S(3,2); area的值为6。
答案:正确题号:758若有宏定义:#define S(a,b) t=a;a=b;b=t由于变量t没定义,所以此宏定义是错误的。
答案:错误题号:2158#define 和printf 都不是C语句。
答案:正确题号:5102关系运算符<= 与== 的优先级相同。
答案:错误填空==================================================题号:1076表达式3.5 + 1 / 2的计算结果是_____。
答案:空1:3.5题号:551请写出以下程序的输出结果_____。
main(){ int a = 100;if( a > 100) printf(“%d\n”, a > 100);else printf(“%d\n”, a <= 100);}答案:空1:1题号:3255表达式(int)((double)(5/2)+2.5)的值是_____. 答案:空1:4题号:2472阅读下面程序,程序执行后的输出结果为_____。
#include "stdio.h"main(){char a,b;for(a=′0′,b=′9′;a<b;a++,b--)printf("%c%c",a,b);printf("\n");}答案:空1:0918273645题号:937以下程序段的输出结果是_____。
int i = 0, sum = 1;do{ sum += i++;} while( i < 5);printf(“%d\n”, sum);答案:空1:11题号:5213以下程序段的输出结果是_____、_____、_____、_____、_____。
int x = 0177;printf(“x = %3d, x = %6d, x = %6o, x = %6x, x = %6u\n”, x, x, x, x, x);答案:空1:x = 127空2:x = 127空3:x = 177空4:x = 7f空5:x = 127题号:3210以下程序的输出结果是_____。
main(){ int a = 3, b = 2, c = 1;c -= ++b;b *= a + c;{ int b = 5, c = 12;c /= b * 2;a -= c;printf(“%d, %d, %d, ”, a, b, c );a += --c;}printf(“%d, %d, %d\n”, a, b, c);}答案:空1:2,5,1,2,3,-2题号:4474当计算机用两个字节存放一个整数时,其中能存放的最大十进制整数是_____、最小十进制整数是_____,它们的二进制形式是_____。
答案:空1:65535空2:-32768空3:1111 1111 1111 1111,1000 0000 0000 0000题号:2791结构化程序由_____、_____、_____三种基本结构组成。
答案:空1:顺序空2:条件分支【或】选择空3:循环题号:561阅读下面程序,程序执行后的输出结果是_____。
#include "stdio.h"main(){int x,y,z;x = 1; y = 2; z = 3;if(x>y)if(x>z)printf("%d",x);else printf("%d",y);printf("%d\n",z);}答案:空1:3程序设计==================================================题号:2660/*------------------------------------------------ 【程序设计】--------------------------------------------------功能:计算出k以内最大的10个能被13或17整除的自然数之和。
(k〈3000)。
------------------------------------------------*/#include <stdio.h>#include"conio.h"void bky();int fun(int k){/**********Begin**********//********** End **********/}main(){int m;printf("Enter m: ");scanf("%d", &m);printf("\nThe result is %d\n", fun(m)); bky();}void bky(){FILE *IN,*OUT;int s ;int t;int o;IN=fopen("in.dat","r");if(IN==NULL){printf("Read FILE Error");}OUT=fopen("out.dat","w");if(OUT==NULL){printf("Write FILE Error");}for(s=1;s<=5;s++){fscanf(IN,"%d",&t);o=fun(t);fprintf(OUT,"%d\n",o);}fclose(IN);fclose(OUT);}示例代码:int a=0,b=0;while((k>=2)&&(b<10)){if((k%13==0)||(k%17==0)){a=a+k;b++;}k--;}return a;题号:5854C语言中不可以嵌套的是()。
A、选择语句B、循环语句C、函数调用D、函数定义答案:D题号:1957C语言中,逻辑"真"等价于A、非零的整数B、大于零的整数C、非零的数D、大于零的数答案:C题号:3786用户定义的函数不可以调用的函数是()。
A、本文件外的B、main函数C、本函数下面定义的D、非整型返回值的答案:B题号:1764以下叙述中正确的是()。
A、C程序中注释部分可以出现在程序中任意合适的地方B、分号是C语句之间的分隔符,不是语句的一部分C、花括号“{“和”}”只能作为函数体的定界符D、构成C程序的基本单位是函数,所有函数名都可以由用户命名答案:A题号:299下面四个选项中,均是不合法的浮点数的选项是()。
A、-e3 .234 1e3B、160. 0.12 e3C、123 2e4.2 .e5D、-.18 123e4 0.0答案:C题号:6131假定所有变量均已正确定义,下列程序段运行后x的值是()。
k1=1;k2=2;k3=3;x=15;if(!k1) x--;else if(k2) x=4;else x=3;A、15B、14C、3D、4答案:D题号:3208若变量已正确定义,以下程序段的输出结果是x=5.16894;printf(“%f\n”, (int)(x*1000+0.5)/(float)1000);A、5.17000B、输出格式说明与输出项不匹配,输出无定值C、5.168000D、5.169000答案:D题号:5043以下选项中合法的实型常数是()。