10级C语言笔试题

合集下载

C语言编程基础考试

C语言编程基础考试

C语言编程基础考试(答案见尾页)一、选择题1. C语言是一种什么类型的编程语言?A. 机器语言B. 汇编语言C. 高级语言D. 以上都不是2. 在C语言中,以下哪个是合法的常量?A. 123B. -456C. ED. π3. C语言中的注释方式是什么?A. 单行注释B. 多行注释C. 注释可以跨越多行D. A和B4. 在C语言中,变量名必须以什么字母开头?A. 数字B. 下划线C. 大写字母D. 小写字母或大写字母5. C语言中,以下哪个是算术运算符?A. +B. =C. *D. /6. 在C语言中,if-else语句的基本结构是什么?A. if (条件) 语句; else 语句;B. if (条件) 语句; else if (条件) 语句; else 语句;C. if (条件) 语句; else 语句; elif (条件) 语句;D. A和B7. C语言中,for循环的初始化部分可以使用哪些类型的语句?A. 声明变量B. 赋值表达式C. 函数调用D. A和B8. 在C语言中,结构体是由什么组成的?A. 标识符B. 变量和函数C. 字符串D. 以上都不是9. C语言中的数组名在整个数组中是什么含义?A. 数组第一个元素的地址B. 数组所有元素的地址C. 数组最后一个元素的地址D. 与数组无关的值10. 在C语言中,字符串常量的结束标记是什么?A. 'B. "C. $D. *11. C语言是一种什么类型的编程语言?A. 机器语言B. 汇编语言C. 高级语言D. 以上都不是12. C语言的基本数据类型有哪些?A. 整数型B. 实数型C. 字符型D. 结构体类型13. 在C语言中,字符串常量的表示方式是:A. 单引号括起来的单个字符B. 双引号括起来的字符序列C. 单引号括起来的多个字符D. 双引号括起来的多个字符序列14. 下面关于C语言运算符的描述,哪个是错误的?A. 算术运算符包括+、-、*、/B. 关系运算符包括==、!=、>、<C. 逻辑运算符包括&&、||、!D. 位运算符包括<<、>>D15. 在C语言中,结构体的定义方式是:A. 使用关键字structB. 使用关键字classC. 使用关键字enumD. 使用关键字struct16. 下面关于C语言指针的描述,哪个是错误的?A. 指针是一种非常特殊的变量,它存储了另一个变量的内存地址B. 指针可以用来指向数组的首元素C. 指针加法的结果是被指向对象的偏移量D. 指针减法的结果是被指向对象的偏移量17. 在C语言中,以下哪个语句是正确的?A. int a[5] = {1, 2, 3, 4, 5};B. int *p = new int[5];C. char *str = "Hello, World!";D. allignment18. 在C语言中,以下哪个选项是定义一个整型变量的正确语法?A. int a;B. int a = 10;C. int a[5];D. int *p = &a;19. 在C语言中,以下哪个表达式是计算字符串长度的正确语法?A. strlen(str);B. str.length();C. str.toCharArray();D. str[0] - '0';20. 在C语言中,以下哪个选项是正确的文件操作语句?A. fopen("file.txt", "r");B. fclose(p);C. fread(p, size, count, file);D. fwrite(p, size, count, file);21. C语言是一种什么类型的编程语言?A. 机器语言B. 汇编语言C. 高级语言D. 以上都不是22. 在C语言中,以下哪个是合法的常量?A. 123B. -456D. 0x1A23. C语言中的变量名必须以什么字母开头?A. 数字B. 下划线C. 大写字母D. 小写字母24. 在C语言中,以下哪个运算符用于指针算术?A. *B. /C. %D. +25. C语言中,以下哪个语句用于声明一个整型变量?A. int a;B. int a = 10;C. a = 10;D. a := 1026. 在C语言中,以下哪个函数用于从文件中读取数据?A. printf()B. scanf()C. fopen()D. fclose()27. C语言中的关键字是什么?A. ifB. elseC. whileD. all of the above28. 在C语言中,以下哪个运算符用于比较两个数值?B. <C. >D. <=29. C语言中,以下哪个语句用于跳出当前循环?A. breakB. continueC. returnD. exit()30. 在C语言中,以下哪个语句用于将一个变量的值赋给另一个变量?A. =B. :=C. =D. <=31. C语言是一种什么类型的编程语言?A. 面向过程B. 面向对象C. 函数式D. 逻辑式32. 在C语言中,以下哪个关键字用于声明变量?A. intB. floatC. charD. double33. C语言中,以下哪个运算符用于指定位移操作?A. <<B. >>C. +=D. -=34. 在C语言中,结构体的定义格式如下所示:struct 结构体名 {项1;项2;...};其中,项1和项2等是结构体的成员。

2010级C语言期末考试试卷(A卷)

2010级C语言期末考试试卷(A卷)

桂林电子科技大学信息科技学院试卷2010-2011 学年第 2 学期课号I04BT014课程名称C语言程序设计(A卷;、闭卷)适用班级(或年级、专业)10级、全院一单项选择题(每题2分,共40分)1 以下叙述正确的是。

A C程序基本组成单位是语句B 简单C语句必须以分号作为结束符C C程序每一行只能写一个语句D 注释语句可以嵌套2 设a和b均为int型变量,则执行以下语句后的输出为。

int a=20; int b=3; printf("%d\n",a+=(b%=2));A 0B 20C 21D 223 设int型占2个字节,且int i=-2;,则语句printf("%u",i);的输出结果为。

A -2B -32768C 65535D 655344 以下程序运行后的输出结果是。

main(){ double d=3.2; int x,y;x=1.2; y=(x+3.8)/5.0;printf("%d\n",d*y);}A 0B 3C 3.07D 3.25 以下程序运行后的输出结果是。

main(){ int a=2,b=-1,c=2;if(a<b)if(b<0) c=0;else c++;printf("%d\n",c);}A 0B 1C 2D 36 以下程序的执行结果是。

main(){ int n=9;while(n>6) { n--; printf("%d",n); }}A 987B 9876C 8765D 876void main(){ int x=15,y=21,z=0;switch (x/8){ case 2: z=z+1;break;case 1: z=z+1;switch (y/21){ default : z=z+1;case 0: z=z+1;break;}}printf("%d\n",z);}A 4B 3C 2D 18 以下程序的输出结果是。

C语言考试题库及答案

C语言考试题库及答案

C语言考试题库及答案1. 以下不是C语言的特点的是( C )A、C语言简洁,紧凑B、能够编制出功能复杂的程序C、C语言可以直接对硬件进行操作D、C语言的移植性好2. 一个C程序是由()BA、一个主程序和若干个子程序组成B、一个或多个函数组成C、若干过程组成D、若干子程序组成3.以下描述正确的是( ) CA、由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句。

B、do-while循环由do开始,用while结束,在while(表达式)后面不能写分号。

C、在do-while循环体中,不一定要有能使while后面表达式的值变成零(“假”)的操作。

D、do-while循环中,根据情况可以省略while。

4.以下对一维整形数组a的正确说明是( ) DA、int a(10);B、int n=10,a[n];C、int n;D、int a[10];5.以下对二维数组a的正确说明是( ) CA、inta[3][];B、float a(3,4);C、double a[1][4];D、float a(3)(4);6.数组名作为实参传给被调用的函数时,形参获得的是()CA、该数组第一个元素的值B、该数组所有元素的值C、该数组第一个元素的首地址D、该数组所有元素的首地址7. C程序的开始是从()AA、main()函数开始,直到main()函数结束B、第一个函数开始,直到最后一个函数结束C、第一个语句开始,直到最后一个语句结束D、main()函数开始,直到最后一个函数结束8.在C程序中,main()函数的位置()CA、必须作为第一个函数B、必须作为第二个函数C、可以任意D、必须放在它所调用的函数之后9. C编译程序是()CA、C语言的机器语言版本B、一组机器语言指令C、将C源程序编译成目标程序的程序D、是由自己编制的10.以下叙述中错误的是( )CA、C程序经过编译、连接之后形成一个真正可执行的二进制机器指令文件B、用C语言编写的程序称为源程序,它以ASCⅡ代码形式存放在文件中C、C语言中的每条可执行语句和非执行语句最终被转换成二进制的机器指令非执行的语句不转换:例如//和/**/是注释的意思D、C语言源程序经编译后生成后缀为.obj的目标程序1.以下不正确的C语言标识符是( )D字母,数字,下划线组成,但是不能以数字开头A、ABCB、abcC、a_bcD、ab.c12.一个C语言程序是由( ) BA、一个主程序和若干子程序组成B、函数组成C、若干过程组成D、若干子程序组成13.以下叙述错误的是( ) C算法可以没有输入输入,但是一定不能没有输出A、算法正确的程序最终一定会结束B、算法正确的程序可以有零个输入C、算法正确的程序可以有零个输出D、算法正确的程序对于相同的输入一定有个相同的结果14.设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+ i*f值的数据类型为( ) C强制类型转换A、intB、floatC、doubleD、不确定15.以下叙述中错误的是( )CA、结构化程序由顺序、分支、循环三种基本结构组成B、C语言是一种结构化程序设计语言C、使用三种基本结构构成的程序只能解决简单问题D、结构化程序设计提倡模块化的设计方法16.以下叙述中错误的是()CA、算法正确的程序最终一定会结束B、算法正确的程序可以有零个输入C、算法正确的程序可以有零个输出D、算法正确的程序对于相同的输入一定有相同的结果17.以下选项中关于程序模块化的叙述错误的是()BA、把程序分成若干相对独立、功能单一的模块,可便于重复使用这些模块B、可采用自底向上、逐步细化的设计方法把若干独立模块组装成所要求的程序C、把程序分成若干相对独立的模块,可便于编码和调试D、可采用自顶向下、逐步细化的设计方法把若干独立模块组装成所要求的程序18. 关于C语言的符号常量,以下叙述中正确的是()CA、符号常量的名是标识符,必须大写B、符号常量的名是标识符,必须小写C、符号常量是指用一个符号名来代表一个常量D、符号常量的符号名必须是常量19.关于C语言的变量,以下叙述中错误的是()BA、所谓变量是指在程序运行过程中其值可以被改变的量B、变量所占的存储单元地址可以随时改变C、程序中用到的所有变量都必须先定义后使用D、由三条下划线构成的符号名是合法的变量名20.以下选项中合法的变量名是()CA、5aB、A%C、_10_D、sizeof21.在C语言中,char型数据在内存中的存储形式是( ) DA、补码B、反码C、源码D、ASCII码22.有如下程序,输入数据:12345M678<cR>后(<CR>表示回车),x的值是( ) 。

c语言笔试题带答案

c语言笔试题带答案

c语言笔试题带答案【篇一:c语言的面试题_带答案-中软国际整理】p class=txt>1)限制变量的作用域2)设置变量的存储域(堆,主动分配内存也是堆)1)在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。

2) 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。

它是一个本地的全局变量。

3) 在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。

那就是,这个函数被限制在声明它的模块的本地范围内使用。

4.全局变量和局部变量在内存中是否有区别?如果有,是什么区别?全局变量储存在静态数据库,局部变量在栈6.堆栈溢出一般是由什么原因导致的?堆栈溢出一般是循环的递归调用导致的,如果使用的大数据结构的局部变量,也可能导致堆栈溢出。

没有回收垃圾资源导致的是内存泄露最后内存耗尽。

20.不能做switch()的参数类型是:switch的参数不能为实型。

(只能是int char)9.写出float x 与“零值”比较的if语句。

if(x0.000001x-0.000001)3.在c语言库函数中将一个字符转换成整型的函数是atol()吗,这个函数的原型是什么?函数名: atol功能: 把字符串转换成长整型数函数的原型: long atol(const char *nptr);程序例:#include stdlib.h#include stdio.hint main(void){long l;char *str = 98765432;l = atol(lstr);printf(string = %s integer = %ld\n, str, l);return(0);}1.对于一个频繁使用的短小函数,在c语言中应用什么实现,在c++中应用什么实现?c用宏定义,c++用inline8.软件测试都有那些种类?黑盒:针对系统功能的测试白合:测试函数功能,各函数接口9.确定模块的功能和模块的接口是在软件设计的那个阶段完成的?概要设计阶段11.unsigned char *p1;unsigned long *p2;p1=(unsigned char *)0x801000;p2=(unsigned long *)0x810000;请问p1+5=? ;p2+5=? ;答:p1+5=0x801005 ;p2+5=0x810014 ;1.请问下面程序有什么错误?int a[60][250][1000],i,j,k;for(k=0;k1000;k++)for(j=0;j250;j++)for(i=0;i60;i++)a[i][j][k]=0;把循环语句内外换一下(编译的时候没错,运行的时候出错,但这个数组太大,如果放在栈中,还是会溢出,要作为全局变量)2.#define max_cb 500void lmiquerycsmd(struct msgcb * pmsg){unsigned char uccmdnum;......for(uccmdnum=0;uccmdnummax_cb;uccmdnum++){......;}死循环(unsigned char 0 到 255)3.以下是求一个数的平方的程序,请找出错误:#define square(a)((a)*(a))int a=5;int b;b=square(a++);//a被加了2次 a=7,b=252、有一个16位的整数,每4位为一个数,写函数求他们的和。

c语言笔试考试题及答案

c语言笔试考试题及答案

c语言笔试考试题及答案C语言笔试考试题及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个是合法的变量名?A. 2variableB. variable-nameC. variable_nameD. variable$name答案:C2. 下列哪个选项是C语言的关键字?A. defineB. intC. integerD. float答案:B3. 以下哪个语句不能通过编译?A. int a = 10;B. int b = 10.5;C. int c = 'a';D. int d = 1.0;答案:B4. C语言中,以下哪个函数用于计算两个数的和?A. pow()B. sqrt()C. sin()D. sum()答案:D(注意:sum()不是C语言标准库函数,这里假设它是一个自定义函数)5. 以下哪个选项是正确的C语言数组声明?A. int numbers[];B. int numbers[10] = {};C. int numbers = 10;D. int [10] numbers;答案:B6. 以下哪个是C语言中正确的字符串字面量?A. "Hello World"B. 'Hello World'C. "Hello\nWorld"D. "Hello\"World"答案:A7. 在C语言中,以下哪个是正确的函数声明?A. void myFunction();B. int myFunction;C. myFunction();D. int myFunction()答案:A8. 下列哪个选项不是C语言的标准输入输出库函数?A. printf()B. scanf()C. cout()D. getchar()答案:C9. 在C语言中,以下哪个是正确的逻辑运算符?A. &&B. ||C. ||D. ++答案:A10. 下列哪个选项是C语言的预处理指令?A. #includeB. defineC. ifD. else答案:A二、简答题(每题5分,共20分)1. 请简述C语言中数组和指针的区别。

c语言考试题库及答案

c语言考试题库及答案

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个。

c语言考试题及答案

c语言考试题及答案

c语言考试题及答案一、选择题(每题2分,共20分)1. 下列关于C语言的描述中,错误的是:A. C语言是一种高级语言B. C语言可以直接被计算机执行C. C语言具有结构化的特点D. C语言具有跨平台的特性答案:B2. C语言中,用于定义一个整型变量的关键字是:A. intB. floatC. doubleD. char答案:A3. 在C语言中,以下哪个运算符用于取模运算?A. %B. /C. *D. -答案:A4. 下列关于数组的描述中,正确的是:A. 数组必须在程序开始时初始化B. 数组的元素可以是不同的数据类型C. 数组的索引从1开始D. 数组的声明必须指定数组的大小答案:D5. 在C语言中,以下哪个关键字用于定义一个函数?A. intB. voidC. functionD. define答案:B6. C语言中,用于表示逻辑“与”操作的运算符是:A. &&B. ||C. !D. &答案:A7. 下列哪个选项是C语言中合法的注释?A. // 这是一个注释B. /* 这是一个注释 */C. // 这是一个注释/* 这是一个注释 */D. /* 这是一个注释 */答案:A8. C语言中,用于定义一个空指针的值是:A. NULLB. 0C. falseD. none答案:A9. 下列关于指针的描述中,错误的是:A. 指针可以存储变量的地址B. 指针可以存储函数的地址C. 指针可以存储数组的索引D. 指针可以存储指针的地址答案:C10. 在C语言中,用于定义一个字符型指针的声明是:A. char *ptr;B. int *ptr;C. float *ptr;D. double *ptr;答案:A二、填空题(每题2分,共20分)1. 在C语言中,定义一个整型数组的语法是:______ int array[10];。

答案:int2. 如果一个变量的值是10,那么表达式sizeof(&var)的结果是:______。

c语言笔试题和答案

c语言笔试题和答案

c语言笔试题和答案C语言是计算机编程领域中的基础语言之一,广泛应用于系统编程、嵌入式开发等领域。

以下是一套C语言的笔试题和答案,旨在帮助考生复习和测试自己的C语言知识。

C语言笔试题一、选择题(每题2分,共20分)1. 下列哪个选项是C语言中的合法变量名?A. 2variableB. variable-nameC. variable_nameD. variable-name22. C语言中,哪个关键字用于定义一个函数?A. defineB. functionC. voidD. int3. 在C语言中,以下哪个表达式的结果为真?A. 5 > 3 && 3 < 2B. 5 > 3 || 3 < 4C. 5 > 3 && 3 < 4D. 5 == 5 || 3 < 24. 下列哪个语句用于在C语言中进行循环控制?A. ifB. switchC. forD. while5. 在C语言中,数组的索引是从哪个数字开始的?A. 0B. 1C. -1D. 根据数组类型而定6. 下列哪个函数可以用于计算两个数的最大值?A. max()B. min()C. abs()D. pow()7. C语言中,哪个预处理指令用于文件包含?A. #includeB. #importC. #defineD. #require8. 下列哪个选项是C语言中的一个标准库函数?A. printf()B. print()C. display()D. show()9. 在C语言中,哪个关键字用于声明一个指针变量?A. varB. pointerC. ptrD. int*10. 下列哪个语句可以用于在C语言中定义一个结构体?A. structB. defineC. typeD. class二、简答题(每题5分,共30分)1. 解释C语言中数组和指针的区别。

2. 描述C语言中函数的调用过程。

c语言考试题库及答案

c语言考试题库及答案

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语言题库及答案详解

c语言题库及答案详解

c语言题库及答案详解C语言题库及答案详解C语言,作为一种广泛使用的编程语言,以其高效、灵活和跨平台的特性,在软件开发、系统编程等领域占据着重要地位。

为了帮助学习者更好地掌握C语言,本文将提供一些常见的C语言题目及其详细解答。

1. 基础语法题- 题目:请编写一个C程序,输出"Hello, World!"。

- 答案:以下是一个简单的C程序示例,用于输出"Hello,World!"。

```c#include <stdio.h>int main() {printf("Hello, World!\n");return 0;}```2. 变量与数据类型题- 题目:声明一个整型变量`a`,初始化为10,并打印其值。

- 答案:在C语言中,可以使用`int`关键字来声明整型变量。

以下是实现题目要求的代码。

```c#include <stdio.h>int main() {int a = 10;printf("The value of a is: %d\n", a);return 0;}```3. 控制结构题- 题目:编写一个程序,判断输入的年份是否为闰年。

- 答案:闰年的判断规则是:如果年份能被4整除但不能被100整除,或者能被400整除,则该年为闰年。

```c#include <stdio.h>int main() {int year;printf("Enter a year: ");scanf("%d", &year);if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) {printf("%d is a leap year.\n", year);} else {printf("%d is not a leap year.\n", year);}return 0;}```4. 数组与循环题- 题目:编写一个程序,求一个整数数组中所有元素的和。

c语言常见笔试题

c语言常见笔试题

C语言常见笔试题
以下是一些常见的C语言笔试题,这些题目涵盖了基本的语法、数据类型、流程控制等方面。

请注意,这只是一小部分可能出现在C 语言笔试中的题目,实际的笔试可能会根据岗位的不同涵盖更广泛的主题。

基本语法:
编写一个程序,输出"Hello,World!"。

变量与数据类型:
声明一个整数变量并初始化为10,输出该变量的值。

运算符:
编写一个程序,计算并输出两个整数的和、差、积、商和余数。

条件语句:
编写一个程序,输入一个整数,判断它是否是正数、负数还是零,并输出相应的提示信息。

循环结构:
使用循环结构输出1到10的所有偶数。

数组:
声明一个整数数组,存储5个成绩,并计算平均值。

字符串处理:
编写一个程序,输入一个字符串,然后输出字符串的长度。

函数:
编写一个函数,接受两个整数参数,返回它们的和。

指针:
声明一个整数变量,然后声明一个指向该变量的指针,并通过指针修改变量的值。

结构体:
声明一个表示学生的结构体,包括学生的姓名、学号和成绩,并输出这些信息。

文件操作:
编写一个程序,打开一个文件,读取文件中的内容并输出到屏幕上。

这些问题涵盖了C语言中的一些基本概念,包括语法、数据类型、流程控制、函数、指针等。

在准备C语言笔试时,建议练习这些题目以熟悉常见的编程任务。

c语言考试题及答案以及解析

c语言考试题及答案以及解析

c语言考试题及答案以及解析一、选择题1. 下列哪个选项是C语言中的关键字?A. intB. floatC. doubleD. string答案:A解析:在C语言中,关键字是保留的词汇,用于表示特定的语法结构。

int是C语言中用于声明整型变量的关键字。

2. C语言中,哪个运算符用于计算两个数的乘积?A. +B. -C. *D. /答案:C解析:在C语言中,乘法运算符是星号(*),用于计算两个数的乘积。

二、填空题1. 在C语言中,以下代码片段的输出结果是:```cint main() {int a = 5;printf("%d", a);return 0;}```输出结果为:_________答案:5解析:代码中的printf函数用于输出变量a的值,a被初始化为5,因此输出结果为5。

2. 下列代码段中,变量b的值是多少?```cint main() {int a = 10, b;b = a + 5;printf("%d", b);return 0;}```变量b的值为:_________答案:15解析:变量b被赋值为变量a加上5,由于a的值为10,所以b的值为15。

三、简答题1. 简述C语言中的数组是什么,并给出一个数组的声明和初始化的例子。

答案:C语言中的数组是一种数据结构,用于存储相同类型的多个元素。

数组的声明需要指定元素的类型和数组的长度。

数组的初始化可以在声明时完成。

解析:例如,声明一个整型数组并初始化:```cint numbers[5] = {1, 2, 3, 4, 5};```2. 解释C语言中的函数是什么,并给出一个简单函数的定义和调用的例子。

答案:C语言中的函数是一段具有特定功能的代码块,可以接收参数,并返回一个值。

函数的定义包括函数的返回类型、名称、参数列表和函数体。

函数的调用是使用函数名称和必要的参数来执行函数。

解析:例如,定义一个函数来计算两个数的和,并调用它:```cint add(int x, int y) {return x + y;}int main() {int result = add(5, 10);printf("%d", result);return 0;}```四、编程题1. 编写一个C语言程序,实现输入两个整数,输出它们的和。

c语言大学考试题及答案

c语言大学考试题及答案

c语言大学考试题及答案一、选择题(每题2分,共20分)1. 下列关于C语言中变量的描述,错误的是:A. 变量必须先定义后使用B. 变量的类型必须明确C. 变量的值在程序运行过程中可以改变D. 变量的名称可以随意命名答案:D2. C语言中,用于定义一个整型变量的关键字是:A. intB. floatC. doubleD. char答案:A3. 下列哪个选项不是C语言中的控制结构?A. 顺序结构B. 选择结构C. 循环结构D. 递归结构答案:D4. 在C语言中,以下哪个运算符用于取模?A. %B. /C. *D. -答案:A5. 以下哪个函数用于将字符串复制到另一个字符串?A. strcat()B. strcpy()C. strcmp()D. strlen()答案:B6. 在C语言中,以下哪个关键字用于定义一个函数?A. intB. voidC. returnD. function答案:B7. C语言中,以下哪个选项不是数组的初始化方式?A. 直接初始化B. 静态初始化C. 动态初始化D. 间接初始化答案:C8. 在C语言中,以下哪个选项是正确的注释方式?A. // 这是注释B. /* 这是注释 */C. //* 这是注释 */D. /* 这是注释答案:B9. 在C语言中,以下哪个选项不是指针的概念?A. 地址B. 变量C. 值D. 引用答案:B10. C语言中,以下哪个选项是正确的文件操作函数?A. fopen()B. fclose()C. fgetc()D. 所有选项答案:D二、填空题(每题2分,共20分)1. 在C语言中,定义一个字符型变量的正确格式是:______。

答案:char ch;2. C语言中,用于输入的函数是:______。

答案:scanf();3. C语言中,用于输出的函数是:______。

答案:printf();4. 在C语言中,表示逻辑“与”的运算符是:______。

答案:&&5. C语言中,表示逻辑“或”的运算符是:______。

2010级C语言复习题(精简)

2010级C语言复习题(精简)

A 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对
B 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错
C语言复习题(判断题)
序号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 题目 注释语句必须用/*和*/括起来,且只能位于某一语句的后面 “a”和‘a’均是占用1个字节的内存空间 数据 的 语句while(!E);中的条件!E等价于E==0。 语句while(E);中的条件E等价于E!=0。 若有for( ; ; ){„„},是指循环体执行0次。 程序有死循环的时候,上机编译不能通过。 强制终止死循环可以使用CTRL+BREAK组合键。 执行for(I=0;I<3;I++);后I的值为2。 执行for(i=0,j=0;i<4;i++);j=j+1;后j的值为1。 所有类型的循环都可以进行嵌套使用。 利用break语句可以提前终止循环的执行。 利用continue语句可以提前终止循环的执行。 break语句和continue语句不可以同时出现在同一个循环体内。 switch语句中,每一个case的冒号后面都必须至少跟有一条语句 关于if语句中,条件表达式只能是关系表达式或逻辑表达式 for循环表达式的括号内的3个表达式均不可以省略。 用1作while循环的判断条件,则循环一次也不执行。 在C语言中,实型数据在内存都中占4个字节。 在C语言中,参加算术(+,-,*,/,%)运算的数据可以是任何类型的数据。 若有定义和语句:int a;char c;scanf("%d,%c",&a,&c);当通过键盘输入: 10,‘A’之后,则变量a中存放的是10,变量c中存放的是‘A’。 C语言中,变量名只能是小写字母表示,符号常量名可用大写表示 在C语言中,变量可以不要定义,直接使用 一个C语言程序总是从main主函数开始执行的 程序段:i=8,j=10;printf("%d,%d,%d,%d\n",i,j,++i,j++);其结果9,10,9,10. while循环的循环体可能一次也不会执行。 表达式j=-i++和j=-(i++)不相等 C语言中多个以“;”结束的语句不能放在同一行。 以下常数:'101',e3,’\78’,12e2.5都是不合法的。 变量说明语句int a=b=c=23;是正确的。 C语句:3*x*x+4*x+1+6sin(x)=y是可以允许的。 C语言中/*..*/之间的注释内容是不能跨行的。 C语言中强制类型转换不会改变原变量的原有数据类型。 C语言中放在""之间的内容都被视为字符串的一个构成部分,都可以在屏幕上原样显示。 字符型数据不可以和整数数据一起进行算术运算。 C语言是严格区分大写和小写的,因次主函数不能写成main()以外的其他形式。 C语言程序是从源文件的第一条语句开始执行的。 C语言对其数据在内存中所占用的实际字节数是有明确规定的。 在程序中可以对数值数组中的数据进行整体使用 如果strcmp(s1,s2)的返回值为一个负数,则表明字符串s1一定小于字符串s2 字符数组的输出不能一次性的整体输出。 用scanf函数输入的字符串不可以带空格。 用gets函数输入的字符串可以带空格。 实现两个字符串的复制可以使用str1=str2;语句。 使用strcpy函数可以实现两个字符串的复制。 使用strcat函数可以实现两个字符串的连接。 字符数组的输出不能一次性的整体输出。 引用数组元素时,其数组下标的数据类型允许的是:整型常量或整型表达式。 若有int a[10]={6,7,8,9,10};,则是将5个初值依次赋给a[0]至a[4]。 一个一维数组,它的每一个元素也是类型相同的一维数组时,便构成二维数组 在C语言中,允许用字符串来直接初始化字符数组。 使用strlen函数可以求出一个字符串的实际长度(包含‘\0’字符)。 如有定义char a[]="student";则数组a的长度为7 如有定义char a[20];则可以通过a=“I am a boy”;给a赋值。 如有定义int a[2][3];则数组a的最后一个元素为a[1][2]。 如有定义int a[3][4]={0}; 则数组a的所有元素初值均为0 C语言中数组名实质上是数组的首地址,是一个变量地址,可对其进行赋值 构成数组的各个元素可以有不同的数据类型。 若有说明:int a[10];,则可以用a[10]引用数组a的第10个元素。 判断题 A 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 第 B 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 错 1 页 正 确 B B A A B B A B A A A B B B B B B B B B B B A A A B B A B B B A B B A B A B A B A A B A A B A A A A B B B A A B B B

c语言c语言考试题库及答案

c语言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的整数之和。

c语言等级考试试题

c语言等级考试试题

c语言等级考试试题一、选择题(每题2分,共20分)1. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef2. 下列哪个选项不是C语言的标准输入输出函数?A. printf()B. scanf()C. coutD. getchar()3. 在C语言中,全局变量的生命周期是?A. 只在定义它的函数中有效B. 从定义开始到程序结束C. 只在main函数中有效D. 只在定义它的代码块中有效4. C语言中,以下哪个操作符用于按位取反?A. !B. ~C. ^D. &&5. 下列哪个不是C语言中合法的赋值运算符?A. +=B. +=C. --D. ++6. 在C语言中,int类型的变量通常占用多少字节的内存空间?A. 1B. 2C. 4D. 87. C语言中,以下哪个函数用于将字符串复制到另一个字符串?A. strcat()B. strcpy()C. strncpy()D. strncat()8. 下列哪个是C语言中的条件运算符?A. ?B. ||C. &&D. ++9. 在C语言中,以下哪个类型用于表示字符?A. intB. charC. floatD. double10. C语言中,以下哪个函数用于计算并返回字符串的长度?A. strlen()B. strcat()C. strcpy()D. strncat()二、填空题(每题3分,共15分)11. 在C语言中,一个浮点数变量声明为 `float x;`,其默认的初始值是______。

12. 当使用 `scanf()` 函数读取字符串时,通常会使用占位符______。

13. 在C语言中,`sizeof` 运算符可以用来获取数据类型或变量的______。

14. 如果一个变量声明为 `static int count;`,那么它的生命周期是 ______。

15. C语言中的 `break` 语句通常用于 ______ 结构中,以提前退出循环。

c语言笔试题(答案)

c语言笔试题(答案)

c语言笔试题(答案)笔试题一、填空题(每个空4分,共28分)1)struct tagABC{char name[10];char sex;long sno;float score[4];}*pAbc;(四字节对齐)pAbc=NULL;那么,执行pAbc+=2;之后pAbc的值为(64 )2)如下代码,最终value的值是(8)int *p1,*p2;int value;p1=(int*)0×400;p2=(int*)0×408;value = p2-p1;3)如下代码,printf的结果为(2)#include〈stdio.h〉#include〈string.h〉void main(void){char acNew[20]= “\\0\0”;printf(“%d\n”,strlen(acNew));}4) 有如下程序段,运行该程序的输出结果是(33)main (){int y=3,x=3,z=1;printf(“%d%d\n”,(++x,y++),z+2);}5)设有:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b)&&(n=c>d)后,n的值为(2)6)struct tagAAA{Unsigned char ucId:1;Unsigned char ucPara0:2;Unsigned char ucState:6;Unsigned char ucTail:4;Unsigned char ucAvail;Unsigned char unTail2:4;Unsigned long ulData;}AAA_S问:AAA_S在字节对齐分别为1,4情况下,占用的空间大小分别是多少?( 9)(12 )二、选择题(每题2分,共34分)1)若有说明int(*p)[3];以下叙述正确的是( D )A:p是指针数组B:(*p)[3]和*p[3]等价C:p是指向一维数组中任何一个元素的指针D:p是指向含有3个整型元素的一维数组的指针2)以下关于单元测试的描述,哪些是对的?(D)A:黑盒测试针对软件的功能,不考虑功能的实现细节;B:白盒测试针对源代码的测试,从程序功能的具体实现上找错;C:路径覆盖是黑盒测试的一种方法,编写测试用例使程序的每条语句都能走到;D:条件覆盖是百盒测试的一种方法, 编写测试用例使程序的每个判断的各种情况都能到3)以下可以用于任务间通信的有(ABCD)A:共享内存 B:信号量C:消息队列和管道 D:socket调用4)有关结构,以下哪些描述是对的?(BC)A:为了测试方便,尽量把一个结构的功能设计得多一些B:不同结构间的关系不要过于复杂C:结构中的各元素应代表同一事务的不同侧面,而不应把描述没有关系或关系很弱的不同事务的元素放到同一结构中D:结构中元素的布局与排列顺序可以随意设计5)关于强制类型转化,下面说法正确的是(ABCD)A:当目的结构的空间大于源结构的空间时,要重点关注内存访问超过源结构范围的情形,可能越界;B:当目的结构的空间小于源结构的空间时,要重点关注对目的结构赋值不能完全覆盖源结构范围的情形,可能遗漏;C:结构体之间的强制类型转换时,其成员字段的数据类型的差异也是要格外小心的; D:与结构体之间的强制类型转换相比,基本数据结构的强制类型转换更容易出现上面描述的情况,使用的时候,一定要慎之又慎;6)正确的使用assert,软件系统不会对人为原因造成的错误进行处理。

完整版C语言试卷及答案

完整版C语言试卷及答案

完整版C语言试卷及答案一、选择题部分(每题1分,共30分)1. 下列选项中,不是C语言基本数据类型的是:A. intB. doubleC. charD. boolean2. 在C语言中,以下哪个用于定义常量的关键字?A. constB. staticC. finalD. define3. 下面哪个选项是正确的C语言注释格式?A. /** 注释内容 */B. // 注释内容C. /* 注释内容 */D. # 注释内容4. 下列选项中,不是C语言的逻辑运算符的是:A. &&B. ||C. !D. %5. 在C语言中,以下哪个函数用于输出信息到屏幕上?A. scanf()B. printf()C. gets()D. puts()二、填空题部分(每题2分,共20分)1. 在C语言中,用于声明变量的关键字是_________。

2. 在C语言中,用于取一个整数的绝对值的函数是_________。

3. 下面这段代码的输出结果是_________。

```c#include <stdio.h>int main(){int a = 10;int b = 20;printf("%d + %d = %d\n", a, b, a + b);return 0;}```4. 在C语言中,用于按位取反的运算符是_________。

5. 下面这段代码的循环次数是_________。

```c#include <stdio.h>int main(){int i;for (i = 0; i < 5; i++){printf("%d ", i);}return 0;}```三、编程题部分(共50分)1. 编写一个程序,输入一个整数n(n>0),输出1到n之间的所有偶数。

2. 设计一个函数,接收两个整数参数a和b,返回它们的最大公约数。

3. 编写一个程序,实现斐波那契数列的前n项的求和。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程名称:C语言程序设计专业:全校年级:10级学期:10—11学年第二学期
一、判断对错(本大题共10小题,每小题1分,共10分)
1.C语言程序总是从main()函数开始执行,并且在main()函数结束。

2.C语言中,数组的名字是常量。

3.一个函数的返回值是由return语句中表达式的类型决定的。

4.若有宏定义#define S(r) r*r 则S(2+3)的值为25。

5.如果一个指针变量pi中存放着另一个变量i的地址,则称i指向pi。

6.若有定义int *p[3],则表明p是一个有三个元素的指针数组。

7.在C程序中若使用指针,一定要使指针有固定的指向。

8.以下是对a数组赋初值:static int a[2][]={{1,2,3},{4,5,6}};。

9.在函数调用时,形参的值单向传递给实参。

10.int型数据和float型数据进行混合运算时,其结果是double型。

二、单项选择(本大题共10小题,每小题1分,共10分)
1.设变量x是float型并且已经赋值,则以下语句中能将x中的数值保留到小数点后两位,并将第三位四舍五入的是()。

A x=x*100+0.5/100.0
B x=(x*100+0.5)/100
C x=(int) (x*100+0.5)/100.0
D x=(x/100+0.5)*100.0
2.在C语言中,if语句嵌套时,与else的配对关系是()。

A 每个else总是与它上面最近的并且没有与其它else匹配的if配对。

B 每个else总是与最外层的if配对。

C 每个else与if的配对是任意的。

D 每个else总是与它上面的if配对。

3.为了结束由do…while组成的循环,while后一对圆括号中表达式的值应该为()。

A 0
B 1
C true
D 非0
4. 若有定义int a[9], *p=a; 在以后的语句中未改变p的值,不能表示a[1]地址的是()。

A p++
B a++
C a+1
D ++p
5. 如下函数的返回值是()。

fun(int *p)
{return (*p); }
A 不确定的值
B 形参p中存放的地址
C 形参p所指存储单元中的值
D 形参p的地址
6. 设char **s;以下正确的表达式是()。

A s=”computer” ;
B *s=’c’;
C **s=”computer” ;
D *s=”computer” ;
7. 如下程序的执行结果是()。

#include ”stdio.h”
main()
{int a[]={1,2,3,4,5,6}, *p;
p=a;
*(p+3)+=2;
printf(”%d,%d\n”, *p, *(p+3) ); }
A 1,3
B 1,6
C 3,6
D 1,4
课程名称:C语言程序设计专业:全校年级:10级学期:10—11学年第二学期
8. 下面说法不正确的是()。

A 在主函数中定义的变量在整个程序中都是有效的。

B 在其它函数中定义的变量在主函数中不能使用。

C 形式参数是局部变量。

D 复合语句中定义的变量只在复合语句中有效。

9. 已知函数定义如下,函数str( )的功能是()。

Str(char *p1, char *p2)
{while(*p2++=*p1++); }
A 求字符串的长度
B 串复制
C 串比较
D 字符串逆序存放
10. 判断字符串a和b是否相等地,应使用()。

A if(a= =b)
B if(a=b)
C if(str cmp(a, b) )
D if(str cpy(a, b))
三、填空(本大题共10个空A~J,每空1分,共10分)
课程名称:C语言程序设计专业:全校年级:10级学期:10—11学年第二学期四、编程题(本大题共7小题,每题10分,共70分)
1、在C语言中,能代表逻辑值“真”的是大于0的数。

2、表达式x=3,y=4,x+y,x++,x+y的值为7。

()
3、若有定义int a;则变量a在内存中占2个字节。

()
4、若有定义int fun(int *x){……}则函数fun是参数为指针的函数。

5、若有定义int (*p)[3],则表明p是一个有三个元素的指针数组。

6、若有定义int a[10];说明a数组有10个元素a[1]~a[10]。

7、char *string="I love China!";的含义是将指针变量string指向字符串"I love China!"的首字符。

8、在同一源文件中,局部变量和全局变量同名,在局部变量的作用范围内,全局变量仍起作用。

9、若有int b[3][4];则*(&b[0][0]+1*4+2)表示数组元素b[1][2]的值。

10、数组名做函数实参时,是把数组元素的值传递给形参。

1、如果有int m=1,n=1;则执行m=n++;之后m的值为2。

()
2、已知x=3,y=4则执行x*=y+2;后x的值为14。

()
3、表达式x=3,y=4,x+y,x++,x+y的值为8。

()
4、int a=1,b=2,c=3,d=4,m=1,n=1;则执行if((m=a>b)||(n=c>d))a=3;语句后m的值为0。

()
5、若x为整型,则for循环for(x=10;x>0;x=x-2)m=m+1;执行5次。

()
6、二维数组定义int a[][]={{1,2,3},{4,5,6}};是正确的。

()
7、函数的定义和调用均可以嵌套。

()
8、有定义int (*p)[5];则p是一个指针数组。

()
9、char *s="china";等价char *s; s="china";()
10、C程序中定义的局部变量和全局变量可以同名。

()。

相关文档
最新文档