10级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-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语言考试题库及答案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语言的面试题_带答案-中软国际整理】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语言笔试考试题及答案一、选择题(每题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语言考试题库及答案一、选择题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语言考试题及答案一、选择题(每题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语言笔试题一、选择题(每题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语言中函数的调用过程。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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程序中定义的局部变量和全局变量可以同名。
()。