2020最新C语言考试题库及答案

合集下载

c语言期末考试题库及详解答案

c语言期末考试题库及详解答案

c语言期末考试题库及详解答案C语言期末考试题库及详解答案一、选择题1. 下列哪个选项是C语言中正确的整型常量?A. 0.1234B. 0x12ABC. 0b1010D. 1e10答案:B2. C语言中,以下哪个关键字用于定义变量的存储类别?A. staticB. constC. typedefD. volatile答案:A3. 在C语言中,以下哪个运算符用于求两个数的余数?A. /B. %C.D. ++答案:B4. 下列哪个选项是C语言中正确的字符常量?A. 'A'B. "A"C. AD. 65答案:A5. 在C语言中,以下哪个函数用于计算两个数的最大值?A. max()B. min()C. pow()D. sqrt()答案:A二、填空题6. C语言中,用于定义数组的关键字是______。

答案:int7. C语言中,用于输入输出的库函数分别是______和______。

答案:scanf(); printf()8. C语言中,若要定义一个指针变量,需要使用关键字______。

答案:int*9. C语言中,用于定义函数的关键字是______。

答案:void 或其他数据类型10. C语言中,若要实现字符串的复制,可以使用库函数______。

答案:strcpy()三、简答题11. 简述C语言中结构体的定义方式。

答案:在C语言中,结构体是一种用户自定义的数据类型,它允许将多个不同类型的数据项组合成一个单一的类型。

结构体的定义方式如下:struct 结构体名 {数据类型成员名1;数据类型成员名2;...};12. 解释C语言中的递归函数。

答案:递归函数是一种函数自己调用自己的特殊函数。

递归函数通常用于解决可以被分解为相似子问题的问题。

递归函数需要有一个明确的终止条件,以防止无限递归。

四、编程题13. 编写一个C语言程序,实现求一个整数的阶乘。

答案:```c#include <stdio.h>long factorial(int n) {if (n <= 1) return 1;else return n * factorial(n - 1);}int main() {int num;printf("Enter a number: ");scanf("%d", &num);printf("Factorial of %d = %ld", num, factorial(num)); return 0;}```14. 编写一个C语言程序,实现字符串的反转。

(完整版)C语言试题库(完整版)

(完整版)C语言试题库(完整版)

C语言试题库一、单项选择第一章 C语言概述(1)一个C程序的执行是从A、本程序的MAIN函数开始,到MAIN 函数结束。

B、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束。

C、本程序的MAIN函数开始,到本程序的最后一个函数结束。

D、本程序文件的第一个函数开始,到本程序的MAIN函数结束。

(2)以下叙述正确的是A、在C程序中,MAIN函数必须位于程序的最前面。

B、 C程序的每行中只能写一条语句。

C、 C语言本身没有输入输出语句。

D、在对一个C程序进行编译的过程中,可发现注释中的拼写错误。

(3) C语言规定,在一个源程序中,MAIN主函数的位置是在:A、必须在最前面。

B、必须在系统调用的库函数的后面C、可以在任意位置。

D、必须在最后面(4)一个C程序是由:A、一个主程序和若干子程序组成B、函数组成C、若干过程组成D、若干子程序组成(5)以下叙述不正确的是:A、一个C源程序可由一个或多个函数组成B、一个C源程序必须包含一个MAIN函数C、 C程序的基本组成单位是函数D、在C程序中,注释说明只能位于一条语句的后面第二章数据类型、运算符与表达式(1)若x, i, j, k都是int型变量,则计算下面表达式后,x的值为x=( i=4, j=16, k=32)A、4B、16C、32D、52(2)下列四组选项中,均不是C语言键字的选项是A、define , IF, typeB、getc, char, printfC、include, scanf, caseE、 if, struct, type(3)下面四个选项中,均是不合法的用户标识符的选项是A、A,P_0,doB、float,1a0, _AC、b-a, goto, intD、_123, temp, INT(4)若有代数式3ae/bc,则正确的C语言表达式是A、a/b/c*e*3B、3*a*e/bcC、3*a*e/b*cD、a*e/c/b*3(5)已知各变量的类型说明如下:int k, a, b;unsinged long w=5;double x=1.42;则以下不符合C语言语法的表达式是A、x%(-3)B、w+=-2;C、k=(a=2,b=3,a+b)D、a+=a-=(b=4)*(a=3)第三章简单C程序设计(1)putchar函数可以向终端输出一个A、整型变量表达式值B、实型变量值C、字符串D、字符或字符型变量值(2)若x,y均定义为int型,z定义为double 型,以下合法的scanf函数调用语句是A、scanf(“%d%lx,%le”,&x,&y,&z);B、scanf(“%2d*%d%lf”,&x,&y,&z);C、scanf(“%x%*d%o”,&x,&y,&z);D、scanf(“%x%o%6.2f”,&x,&y,&z);(3)当输入数据的形式为:25,13,10<回车>时,以下程序的输出结果为main(){int x,y,z;scanf(“%d%d%d”,&x,&y,&z);printf(“x+y+z=%d\n”,x+y+z);}A、x+y+z=48B、x+y+z=35C、x+z=35D、不确定值(4) 以下能正确的定义整型变量a,b和c,并对它们赋初值为5的语句是A、int a=b=c=5;B、int a, b, c=5;C、a=5, b=5, c=5;D、a=b=c=5;(5) 若有以下定义,则正确的赋值语句是int a,b; float x;A、a=1, b=2;B、b++;C、a=b=5;D、b=int(x);第四章选择结构程序设计(1)能正确表示“当x的值在[1,10]和[200,210]的范围为真,否则为假”的表达式是A、(x>=1)&&(x<=10)&&(x.>=200)&&(x<=210)B、(x>=1)││(x<=10) ││(x.>=200) ││(x<=210)C、(x>=1) &&(x<=10) ││(x.>=200) &&(x<=210)D、(x>=1)││(x<=10)&& (x.>=200) ││(x<=210)(2)以下程序的运行结果是#include “stdio.h”main(){int a,b,d=241;a=d/100%9;b=(-1)&&(-1);printf(“%d,%d”,a,b);}A、6,1B、2,1C、6,0D、2,0(3)请阅读以下程序:main(){int a=5 , b=0 , c=0;if (a+b+c) printf(“* * *\n”); else printf(“$ $ $\n”); }以上程序。

C语言考试试题及答案

C语言考试试题及答案

《C语言》考卷一单选题(每题2分,共25题,共50分)1.要把高级语言编写的源程序转换为目标程序,需要使用( )[2分][2分]A.编辑程序B.驱动程序C.诊断程序D.编译程序参考答案:D2.以下叙述中正确的是( )[2分][2分]A.C语言程序将从源程序中第一个函数开始执行B.可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行C.C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束D.main可作为用户标识符,用以命名任意一个函数作为主函数参考答案:C3.若变量a是int类型,并执行了语句:a=‘A'+1.6;,则正确的叙述是( )[2分][2分] int a int a=66 = 65 + 1.6 =66.6A.a的值是字符BB.a的值是浮点型C.不允许字符型和浮点型相加D.a的值是字符‘A’的ASCII值加上2参考答案:Aint a = ‘A’;char b = 65;4.若变量已正确定义并赋值,以下符合C语言语法的表达式是( )[2分][2分]A.a:=b+1B.a=b=c+2C.18.5%3D.a=a+7=c+b参考答案:B5.下列可用于C语言用户标识符的一组是( )[2分][2分]A.void, define, WORDB.a3_b3, _123,carC.For, -abc, IF CaseD.2a, DO, sizeof参考答案:B6.若在定义语句:int a,b,c,*p=&c;之后,接着执行以下选项中的语句,则能正确执行的语句是( )[2分][2分]A.scanf("%d",a,b,c);B.scanf("%d%d%d",a,b,c);C.scanf("%d",p); //scanf(“%d”,&c);D.scanf("%d",&p);参考答案:C7.以下关于long、int和short类型数据占用内存大小的叙述中正确的是( )[2分][2分]A.均占4个字节B.根据数据的大小来决定所占内存的字节数 // long a = 1 int b = 1000000C.由用户自己定义D.由C语言编译系统决定参考答案:D8.若变量已正确定义,有以下程序段i=0;do{printf("%d,",i); //0}while(i++); //while(0) i=1printf("%d\n",i); //1其输出结果是( )[2分][2分]A.0,0B.0,1C.1,1D.程序进入无限循环参考答案:B9.有以下计算公式则不能够正确计算上述公式的程序段是( )(提示:库函数sqrt()用来求一个数的平方根)[2分][2分]A.if(x>=0) y=sqrt(x); else y=sqrt(-x); //if/else配合使用B.y=sqrt(x) if(x<0) y=sqrt(-x);C.if(x>=0)y=sqrt(x); if(x<0)y=sqrt(-x); //if单独使用D.y=sqrt(x>=0?x:-x);参考答案:B10.设有条件表达式:EXP ? i++ : j--;则以下表达式与之完全等价的是( )[2分][2分]A.(EXP==0)? i++ : j--;B.(EXP!=0)? i++ : j--;C.(EXP==1)? i++ : j--;D.(EXP!=1)? i++ : j--;参考答案:B11.有以下程序#include<stdio.h>int main(void){int y=9;for( ; y>0; y--){if(y%3 == 0)printf("%d",--y);}}程序的运行结果是( )[2分][2分]A.741B.963C.852D.875421参考答案:C12.若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确的是( )[2分][2分]A.函数的实参和其对应的形参共占同一存储单元B.形参只是形式上的存在,不占用具体存储单元 //局部变量C.同名的实参和形参占同一存储单元D.函数的形参和实参分别占用不同的存储单元参考答案:D13.已知字符‘A’的ASCⅡ代码值是65,字符变量c1的值是‘A’,c2的值是‘D’。

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的值是( ) 。

2020年电大本科C语言程序设计A期末考试试题及答案

2020年电大本科C语言程序设计A期末考试试题及答案

2020年电大本科C语言程序设计A期末考试试题及答案2020年电大本科C语言程序设计A期末考试试题及答案| 本科《C语言程序设计A》复习资料一、单选题1.在每个C语言程序中都必须包含有这样一个函数,该函数的函数名为(A)。

A. mainB. MAINC. nameD. function 2.每个C语言程序文件的编译错误分为(B)类。

A. 1B. 2C. 3D. 4 3. 字符串“a+b=12\n“的长度为(B)。

A. 6B. 7C. 8D. 9 4. 在switch语句的每个case块中,假定都是以break语句结束的,则此switch语句容易被改写为(D)语句。

A. forB. whileC. doD. if 5. 在下面的do-while循环语句中,其循环体语句被执行的次数为(C)。

int i=0; do i++; while(i A. 8 B. 9 C. 10 D. 11 6. 将两个字符串连接起来组成一个字符串时,选用的字符串函数为(C)。

A. strlen()B. strcpy()C. strcat()D. strcmp() 7. 若用数组名作为函数调用的实参,传递给形参的是(A)。

A. 数组的首地址B. 数组中第一个元素的值C. 数组中全部元素的值D. 数组元素的个数8. 假定a为一个整数类型的数组名,整数类型的长度为4,则元素a的地址比a数组的首地址大(C)个字节。

A. 4B. 8C. 16D. 32 9. 假定s被定义为指针类型char *的变量,初始指向的字符串为“Hello world!“,若要使变量p指向s所指向的字符串,则p应定义为(A)。

A. char *p=s;B. char *p=C. char *p;p=*s;D. char *p; p= 10. 从一个数据文件中读入以换行符结束的一行字符串的函数为(B)。

A. gets()B. fgets()C. getc()D. fgetc() 11.程序运行中需要从键盘上输入多于一个数据时,各数据之间默认使用(D)符号作为分隔符。

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 语言中,标识符的定义规则是以字母或下划线为开头。

2020c语言期末考试题库及详解答案

2020c语言期末考试题库及详解答案

2020c语言期末考试题库及详解答案一、选择题1. 下列哪个选项不是C语言的基本数据类型?A. intB. charC. doubleD. string答案:D2. 在C语言中,以下哪个运算符用于计算两个数的乘积?A. +B. -C. *D. /答案:C3. 以下哪个是C语言中的逻辑运算符?A. &&B. ||C. <=D. ==答案:A4. 在C语言中,哪个关键字用于定义函数?A. ifB. forC. whileD. void答案:D5. 在C语言中,以下哪个语句用于结束程序的执行?A. breakB. continueC. returnD. exit答案:C二、填空题1. C语言中,一个完整的程序由________和函数的实现两部分组成。

答案:函数的声明2. 在C语言中,使用________关键字可以定义一个数组。

答案:array 或者数组名[常量表达式]3. 在C语言中,________运算符用于判断两个表达式是否相等。

答案:==4. C语言中的________函数用于计算两个数的最大公约数。

答案:gcd5. 在C语言中,使用________语句可以结束当前循环体的执行,立即开始下一次循环。

答案:continue三、简答题1. 简述C语言中变量的作用域和生命周期。

答案:变量的作用域是指变量可以被访问的代码区域。

局部变量的作用域仅限于定义它的函数内部,全局变量可以在整个程序中访问。

变量的生命周期是指变量存在的时间段,局部变量的生命周期从定义时开始,到函数执行结束时结束,全局变量的生命周期从程序开始时开始,到程序结束时结束。

2. 解释C语言中的指针和引用的区别。

答案:指针是一个变量,它存储了另一个变量的内存地址。

引用则是一个别名,它为已存在的变量提供了另一个名字。

指针可以被重新赋值为其他地址,而引用一旦被初始化,就不能改变它所引用的变量。

四、编程题1. 编写一个C语言程序,实现求两个整数的最大公约数。

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语言考试题及答案一、选择题(每题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语言试题及答案大全一、选择题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程序,输出学生的平均年龄。

c语言考试题及答案

c语言考试题及答案

c语言考试题及答案C语言考试题及答案一、选择题(每题2分,共20分)1. 下列哪个是C语言的合法标识符?A. 3variableB. variable3C. variable-3D. variable#3答案:B2. C语言中,哪个关键字用于定义一个函数?A. functionB. defineC. voidD. int答案:D3. 在C语言中,以下哪个是正确的字符串字面量?A. "Hello World"B. 'Hello World'C. "Hello\nWorld"D. "Hello\tWorld"答案:A4. C语言中,以下哪个是正确的数组声明?A. int array[10];B. int [10] array;C. int array = 10;D. int 10[array];答案:A5. 在C语言中,哪个运算符用于求两个数的余数?A. %B. /C. //D. ÷答案:A二、填空题(每空2分,共20分)1. C语言中,用于定义变量的关键字是________。

答案:int, float, double, char等2. 一个C程序的执行从________函数开始。

答案:main3. 在C语言中,________运算符用于连接字符串。

答案:+4. 在C语言中,________关键字用于声明一个数组。

答案:array5. 一个C程序中,________语句用于结束程序的执行。

答案:return三、简答题(每题10分,共20分)1. 请简述C语言中指针的概念及其用途。

答案:指针是一种变量,它存储了另一个变量的内存地址。

指针的主要用途包括动态内存分配、数组操作、函数参数传递等。

2. 解释C语言中的递归函数,并给出一个简单的例子。

答案:递归函数是指在函数内部调用自身的函数。

递归通常用于解决可以分解为相同问题的子问题的问题,如阶乘计算、斐波那契数列等。

C语言考试题及答案

C语言考试题及答案

C语言考试题一、单项选择题(每题2分,共40分)1、一个算法应该具有“确定性”等五个特性,下面对另外4个特性的描述中错误的是(B)A、有零个或多个输入B、有零个或多个输出C、有穷性D、可行性2、C语言中最简单的数据类型包括(B)A、整型、实型、逻辑型B、整型、实型、字符型C、整型、字符型、逻辑型D、整型、实型、逻辑型、字符型3、设a和b均为double型变量,且a=5。

5、b=2。

5,则表达式(int)a+b/b的值是(D)A、 6.500000B、 6C、 5。

500000D、 6。

0000004、x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是(B)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);5、设 int x=1, y=1;表达式(!x||y——)的值是(B)。

A、0B、1C、2D、—16、对两个字符数组a和b进行初始化char a[]="ABCDEF”;char b[ ]={'A',’B’,'C’,’D','E’,'F'}; 则以下叙述正确的是(D)。

A、a与b数组完全相同B、a与b长度相同C、a和b中都存放字符串D、a数组比b数组长度长7、为了避免在嵌套的条件语句if――else中产生二义性,c语言规定:else子句总是与(B)配对.A、缩排位置相同的ifB、其之前最近的ifC、其之后最近的ifD、同一行上的if8、下面不正确的字符串常量是(A)A、 'abc’B、”12'12”C、 "0”D、 " ”9、以下错误的if语句是(C).A、 if(x〉y) z=x;B、 if(x= =y) z=0;C、 if(x!=y) printf(”%d",x) else printf("%d”,y);D、 if(x<y) { x++;y-—;}10、若有说明:int a[3][4];则对a数组元素的非法引用是( D)。

C语言试题库(含答案)

C语言试题库(含答案)
if(b%3==1){b+=3;continue;}
b=-5;}
print f(“%d\n”,a);}
上面程序的输出结果是
A、7
B、8
C、9
D、10
标准答案:B
【14】有以下程序段:
int i,j;
for(i=0;i<5;++i)
for(j=i;j<5;++j)
print f(“*”);
则执行以上的程序片段后,输出‘*’个数是
if(ch=='/')w=a/b;
B、B)if(ch=='*')w=a*b;
else if(ch=='/')w=a/b;
if(ch=='+')w=a+b;
else if(ch=='-')w=a-b;
C、if(ch=='+')w=a+b;
else if(ch=='-')w=a-b;
if(ch=='*')w=a*b;
C、C语言源程序中,注释可以出现在任何位置
D、最小的C源程序中没有任何内容
标准答案:C
【2】返回值为void的函数,其含义是()。
A、调用函数之后,被调用的函数没有返回值
B、调用函数之后,被调用的函数不返回
C、调用函数之后,被调用的函数的返回值为任意的类型
D、以上三种说法都是错误的
标准答案:A
【3】以下函数
【6】下面程序的输出是
main()
{int a=-1,b=4,k;
k=(a++<=0)&&(!(b--<=0));

2020年全国计算机二级C语言考试真题(第180套)

2020年全国计算机二级C语言考试真题(第180套)

2020年全国计算机二级C语言考试真题及答案一、选择题(1)下列关于栈叙述正确的是A).栈顶元素先能被删除B).栈顶元素后才能被删除C).栈底元素永远不能被删除C).以上三种说法都不对(2)下列叙述中正确的是A).有一个以上根结点的数据结构不一定是非线性结构B).只有一个根结点的数据结构不一定是线性结构C).循环链表是非线性结构C).双向链表是非线性结构(3)某二叉树共有7个结点,其中叶子结点只有1个,则该二叉树的深度为(假设根结点在第1层)A).3 B).4 C).6 C).7(4)在软件开发中,需求分析阶段产生的主要文档是A).软件集成测试计划 B).软件详细设计说明书C).用户手册 C).软件需求规格说明书(5)结构化程序所要求的基本结构不包括A).顺序结构 B).GOTO跳转C).选择(分支)结构 C).重复(循环)结构(6)下面描述中错误的是A).系统总体结构图支持软件系统的详细设计B).软件设计是将软件需求转换为软件表示的过程C).数据结构与数据库设计是软件设计的任务之一C).PAD图是软件详细设计的表示工具(7)负责数据库中查询操作的数据库语言是A).数据定义语言B).数据管理语言C).数据操纵语言C).数据控制语言(8)一个教师可讲授多门课程,一门课程可由多个教师讲授。

则实体教师和课程间的联系是A).1:1联系 B).1:m联系C).m:1联系 C).m:n联系(9)有三个关系R、S和T如下:则由关系R和S得到关系T的操作是A).自然连接 B).交 C).除 C).并(10)定义无符号整数类为UInt,下面可以作为类UInt实例化值的是A).-369 B).369 C).0.369 C).整数集合{1,2,3,4,5}(11)计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是A).C语言程序仅可以编译执行B).C语言程序仅可以解释执行C).C语言程序既可以编译执行又可以解释执行C).以上说法都不对(12)以下叙述中错误的是A).C语言的可执行程序是由一系列机器指令构成的B).用C语言编写的源程序不能直接在计算机上运行C).通过编译得到的二进制目标程序需要连接才可以运行C).在没有安装C语言集成开发环境的机器上不能运行C源程序生成的.exe文件(13)以下选项中不能用作C程序合法常量的是A).1,234 B).'123'C).123 C)."\x7G"(14)以下选项中可用作C程序合法实数的是A)..1e0 B).3.0e0.2C).E9 C).9.12E(15)若有定义语句:int a=3,b=2,c=1;,以下选项中错误的赋值表达式是A).a=(b=4)=3; B).a=b=c+1;C).a=(b=4)+c; C).a=1+(b=c=4);(16)有以下程序段char name[20];int num;scanf("name=%s num=%d",name;&num);当执行上述程序段,并从键盘输入:name=Lili num=1001<回车>后,name的值为A).LiliB).name=LiliC).Lili num=C).name=Lili num=1001(17)if语句的基本形式是:if(表达式)语句,以下关于“表达式”值的叙述中正确的是A).必须是逻辑值 B).必须是整数值C).必须是正数 C).可以是任意合法的数值(18)有以下程序#includemain(){ int x=011;printf("%d\n",++x);}程序运行后的输出结果是A).12 B).11 C).10 C).9(19)有以下程序#includemain(){ int s;scanf("%d",&s);while(s>0){ switch(s){ case1:printf("%d",s+5);case2:printf("%d",s+4); break; case3:printf("%d",s+3); default:printf("%d",s+1);break; }scanf("%d",&s);}}运行时,若输入1 2 3 4 5 0<回车>,则输出结果是A).6566456 B).66656 C).66666 C).6666656(20)有以下程序段int i,n;for(i=0;i<8;i++){ n=rand()%5;switch (n){ case 1:case 3:printf("%d\n",n); break;case 2:case 4:printf("%d\n",n); continue;case 0:exit(0);}printf("%d\n",n);}以下关于程序段执行情况的叙述,正确的是A).for循环语句固定执行8次B).当产生的随机数n为4时结束循环操作C).当产生的随机数n为1和2时不做任何操作C).当产生的随机数n为0时结束程序运行(21)有以下程序#includemain(){ char s[]="012xy\08s34f4w2";int i,n=0;for(i=0;s[i]!=0;i++)if(s[i]>='0'&&s[i]<='9') n++;printf("%d\n",n);}程序运行后的输出结果是A).0 B).3 C).7 C).8(22)若i和k都是int类型变量,有以下for语句for(i=0,k=-1;k=1;k++) printf("*****\n"); 下面关于语句执行情况的叙述中正确的是A).循环体执行两次B).循环体执行一次C).循环体一次也不执行C).构成无限循环(23)有以下程序#includemain(){ char b,c; int i;b='a'; c='A';for(i=0;i<6;i++){ if(i%2) putchar(i+B).;else putchar(i+C).;} printf("\n");}程序运行后的输出结果是A).ABCDEF B).AbCdEf C).aBcDeF C).abcdef(24)设有定义:double x[10],*p=x;,以下能给数组x下标为6的元素读入数据的正确语句是A).scanf("%f",&x[6]); B).scanf("%lf",*(x+6));C).scanf("%lf",p+6); C).scanf("%lf",p[6]);(25)有以下程序(说明:字母A的ASCII码值是65)#includevoid fun(char *s){ while(*s){ if(*s%2) printf("%c",*s);s++;}}main(){ char a[]="BYTE";fun(A).; printf("\n");}程序运行后的输出结果是A).BY B).BT C).YT C). YE(26)有以下程序段#includemain(){ …while( getchar()!='\n');…}以下叙述中正确的是A).此while语句将无限循环B). getchar()不可以出现在while语句的条件表达式中C).当执行此while语句时,只有按回车键程序才能继续执行C).当执行此while语句时,按任意键程序就能继续执行(27)有以下程序#includemain(){ int x=1,y=0;if(!x) y++;else if(x==0)if (x) y+=2;else y+=3;printf("%d\n",y);}程序运行后的输出结果是A).3 B).2 C).1 C). 0(28)若有定义语句:char s[3][10],(*k)[3],*p;,则以下赋值语句正确的是A).p=s; B).p=k; C).p=s[0]; C).k=s;(29)有以下程序#includevoid fun(char *C).{ while(*C).{ if(*c>='a'&&*c<='z') *c=*c-('a'-'A');c++;}}main(){ char s[81];gets(s); fun(s); puts(s):}当执行程序时从键盘上输入Hello Beijing<回车>,则程序的输出结果是A).hello beijing B).Hello Beijing C).HELLO BEIJING C).hELLO Beijing(30)以下函数的功能是:通过键盘输入数据,为数组中的所有元素赋值。

C语言考试复习题及答案

C语言考试复习题及答案

一、单选题(请将正确答案写在答题纸,1~20题每题1分,21~35题每题2分,共50分)1. 下列关于C语言的说法不正确的是( D )。

A.C语言既具有高级语言的一切功能,也具有低级语言的一些功能B.注释可以出现在程序中任意合适的地方C.C语言中的每一条执行语句都必须用分号结束,分号是C语言的一部分D.定义函数的首行要加分号2. C语言程序的执行顺序是(B)。

A.从第一个函数开始执行B.从main函数开始执行C.从任意函数开始执行D.从第一条语句开始执行3. 以下关于注释的叙述,正确的是(D)。

A.注释参与编译,影响程序结果B.注释不参与编译,但影响程序结果C.注释参与编译,但不影响程序结果D.注释不参与编译,不影响程序结果4. 以下叙述正确的是(A)。

A.C语言程序可以在任意C编译器下编译B.C语言程序只能在TC环境下编译C.C语言程序只能在VC或TC环境下编译D.C语言程序只能在VC环境下编译5. C语言中的标识符只能由字母,数字和下划线三种字符组成,且第一个字符( B )。

A.必须为字母B.必须为下划线或字母C.必须为下划线D.可以是字母,数字和下划线中任一字符6. 下面四个数字常量选项中,书写均正确的是(D)。

A.016 0x8f 018 (零开头的是八进制,不能用8)B.0312 7ff -087(8进制没有符号)C.0xbc 0a7(8进制没有a)0xaD.070 0xf1 0x19(16进制以ox开头)7. 若有说明语句:char c=0x7f;则变量c(B)。

A.包含3个字符B.包含1个字符C.包含2个字符D.说明不合法,c的值不确定8. 设有int x=11;则表达式(++x*1/3)的值是( B )。

(11+1再除以3)A.3B.4C.11D.129. 阅读下面程序段,输出结果为( B )。

(z-a=25)#include "stdio.h"void main(){ char c;c=('z'-'a')/3+'A';putchar(c);}A.HB.JC.ID.K10. 若有定义和语句:int a=23,b=023; printf(“%x,%d \n”,a,b);输出结果是( D )。

2020年C语言考试题库及答案

2020年C语言考试题库及答案

精选考试类应用文档,如果您需要使用本文档,请点击下载,另外祝您生活愉快,工作顺利,万事如意!精选考试类文档,如果需要,请下载,希望能帮助到你们!2020年C语言考试题库及答案姓名成绩温馨提示:同学们,经过培训学习,你一定积累了很多知识,现在请认真、仔细地完成这张试题吧。

加油!一单项选择题1. 在C语言中,以 D 作为字符串结束标志A)’\n’ B)’ ’ C) ’0’ D)’\0’2.下列数据中属于“字符串常量”的是( A )。

A.“a”B.{ABC}C.‘abc\0’D.‘a’若干个字符构成字符串在C语言中,用单引号标识字符;用双引号标识字符串选项B,C,分别用{}和’’标识字符串选项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 t6.下列C语言用户标识符中合法的是( B )。

A)3ax B)x C)case D)-e2 E)union7.下列四组选项中,正确的C语言标识符是( C )。

A) %x B) a+b C) a123 D) 1238、下列四组字符串中都可以用作C语言程序中的标识符的是( A )。

A、print _3d db8 aBcB、I\am one_half start$it 3paiC、str_1 Cpp pow whileD、Pxq My->book line# His.age9.C语言中的简单数据类型包括(D )。

(完整版)C语言考试题库及答案

(完整版)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语言程序,实现以下功能:输入一个字符串,判断它是否是回文(正读和反读都一样的字符串)。

XXX《C语言》2020秋期末考试试题答案

XXX《C语言》2020秋期末考试试题答案

XXX《C语言》2020秋期末考试试题答案试卷总分:100得分:100一、单选题(共35道试题,共70分)1.若有说明int a[][3]={1,2,3,4,5,6,7};则a数组行数的大小为()。

A.2B.3C.4D.不确定答案:B2.若调用一个函数,且此函数中没有return语句,则正确的说法是该函数()。

A.没有返回值B.返回若干个系统默认值C.返回一个用户所希望的函数值D.返回一个不确定的值答案:D3.在“文件包含”预处理语句的使用形式中,当#include后面的文件名用""括起时,寻找被包含文件的方式是A.直接按照系统设定的标准方式搜索目录B.先在源程序所在目录搜索,再按照系统设定的标准方式搜索C.仅仅搜刮源程序所在目录D.仅仅搜索当前目录答案:B需求代做加微boge4.C语言规定:在一个源程序中,main函数的位置()。

A.必须在最开始B.必须在系统调用的库函数的后面C.可以任意D.必需在末了谜底:C5.以下程序段的作用是()。

inta[]={4,0,2,3,1},i,j,t;for(i=1;i=0&&t>a[j]) {a[j+1]=a[j];j- -;} a[j+1]=t; }A.对数组a进行插入排序(升序)B.对数组a进行插入排序(降序)C.对数组a进行选择排序(升序)D.对数组a进行选择排序(降序)答案:B6.以下说法正确的选项是()。

A.x'+5是一个错误的表达式D.(int)x+y?和(int)(x+y)是完全等价的表达式谜底:C7.以下叙述不正确的是()。

A.一个C源程序可由一个或多个函数组成B.一个C源程序必需包含一个main函数C.C程序的基本组成单位是函数D.在C程序中,解释说明只能位于一条语句的背面谜底:D8.下面函数调用语句含有实参的个数fun((exp1,exp2),(exp3,exp4,exp5));A.1为()。

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

精选考试类应用文档,如果您需要使用本文档,请点击下载,另外祝您生活愉快,工作顺利,万事如意!精选考试类文档,如果需要,请下载,希望能帮助到你们!2020最新C语言考试题库及答案姓名成绩温馨提示:同学们,经过培训学习,你一定积累了很多知识,现在请认真、仔细地完成这张试题吧。

加油!一单项选择题1. 在C语言中,以 D 作为字符串结束标志A)’\n’ B)’ ’ C) ’0’ D)’\0’2.下列数据中属于“字符串常量”的是( A )。

A.“a”B.{ABC}C.‘abc\0’D.‘a’若干个字符构成字符串在C语言中,用单引号标识字符;用双引号标识字符串选项B,C,分别用{}和’’标识字符串选项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 t6.下列C语言用户标识符中合法的是( B )。

A)3ax B)x C)case D)-e2 E)union7.下列四组选项中,正确的C语言标识符是( C )。

A) %x B) a+b C) a123 D) 1238、下列四组字符串中都可以用作C语言程序中的标识符的是( A )。

A、print _3d db8 aBcB、I\am one_half start$it 3paiC、str_1 Cpp pow whileD、Pxq My->book line# His.age9.C语言中的简单数据类型包括(D )。

A、整型、实型、逻辑型B、整型、实型、逻辑型、字符型C、整型、字符型、逻辑型D、整型、实型、字符型10.在C语言程序中,表达式5%2的结果是 C 。

A)2.5 B)2 C)1 D)311.如果int a=3,b=4;则条件表达式"a<b? a:b"的值是__A__。

A) 3 B) 4 C) 0 D) 112.若int x=2,y=3,z=4 则表达式x<z?y:z的结果是( B ).A)4 B)3 C)2 D)0 E)113.C语言中,关系表达式和逻辑表达式的值是( B )。

A) 0 B) 0或1 C) 1 D) ‘T’或’F’14. 下面( D )表达式的值为4.A) 11/3 B) 11.0/3C) (float)11/3 D) (int)(11.0/3+0.5)15.设整型变量 a=2,则执行下列语句后,浮点型变量b的值不为0.5的是( B )A.b=1.0/aB.b=(float)(1/a)C.b=1/(float)aD.b=1/(a*1.0)16. 若“int n; float f=13.8;”,则执行“n=(int)f%3”后,n的值是(A)A.1B.4C.4.333333D.4.617. 以下对一维数组a的正确说明是: DA)c har a(10);B) int a[];C)int k=5,a[k]; D)char a[3]={‘a’,’b’,’c’};18.以下能对一维数组a进行初始化的语句是: ( C )A. int a[5]=(0,1,2,3,4,)B. int a(5)={}C. int a[3]={0,1,2}D. int a{5}={10*1}19.在C语言中对一维整型数组的正确定义为 D 。

A)int a(10); B)int n=10,a[n];C)int n;a[n]; D)#define N 10int a[N];20、已知:int a[10]; 则对a数组元素的正确引用是( D )。

A、a[10]B、a[3.5]C、a(5)D、a[0]21.若有以下数组说明,则i=10;a[a[i]]元素数值是(C )。

int a[12]={1,4,7,10,2,5,8,11,3,6,9,12};A.10B.9C.6D.522.若有说明:int a[][3]={{1,2,3},{4,5},{6,7}}; 则数组a的第一维的大小为: ( B )A. 2B. 3C. 4D.无确定值5 7 D) 36 923.对二维数组的正确定义是( C )A.int a[ ] [ ]={1,2,3,4,5,6};B.int a[2] [ ]={1,2,3,4,5,6};C.int a[ ] [3]={1,2,3,4,5,6};D.int a[2,3]={1,2,3,4,5,6};24.已知int a[3][4];则对数组元素引用正确的是__C___A)a[2][4] B)a[1,3] C)a[2][0] D)a(2)(1)25.C语言中函数返回值的类型是由 A 决定的.A)函数定义时指定的类型 B) return语句中的表达式类型C) 调用该函数时的实参的数据类型 D) 形参的数据类型26. 在C语言中,函数的数据类型是指( A )A 函数返回值的数据类型 B. 函数形参的数据类型C 调用该函数时的实参的数据类型 D.任意指定的数据类型27. 在函数调用时,以下说法正确的是( B )A.函数调用后必须带回返回值B.实际参数和形式参数可以同名C.函数间的数据传递不可以使用全局变量D.主调函数和被调函数总是在同一个文件里28. 在C语言中,表示静态存储类别的关键字是: ( C )A) auto B) register C) static D) extern 29.未指定存储类别的变量,其隐含的存储类别为( A )。

A)auto B)static C)extern D)register30. 若有以下说明语句:struct student{ int num;char name[ ];float score;}stu;则下面的叙述不正确的是: ( D )A. struct是结构体类型的关键字B. struct student 是用户定义的结构体类型C. num, score都是结构体成员名D. stu是用户定义的结构体类型名31.若有以下说明语句:struct date{ int year;int month;int day;}brithday;则下面的叙述不正确的是__C___.A) struct是声明结构体类型时用的关键字B) struct date 是用户定义的结构体类型名C) brithday是用户定义的结构体类型名D) year,day 都是结构体成员名32. 以下对结构变量stul中成员age的非法引用是 Bstruct student{ int age;int num;}stu1,*p;p=&stu1;A) stu1.age B) student.age C) p->age D) (*p).age33.设有如下定义:struck sk{ int a;float b;}data;int *p;若要使P指向data中的a域,正确的赋值语句是 CA) p=&a; B) p=data.a; C) p=&data.a; D)*p=data.a;34.设有以下说明语句:typedef struct stu{ int a;float b;} stutype;则下面叙述中错误的是( D )。

A、struct是结构类型的关键字B、struct stu是用户定义的结构类型C、a和b都是结构成员名D、stutype是用户定义的结构体变量名35.语句int *p;说明了 C 。

A)p是指向一维数组的指针B)p是指向函数的指针,该函数返回一int型数据C)p是指向int型数据的指针 // 指针的定义教材P223D)p是函数名,该函数返回一指向int型数据的指针36.下列不正确的定义是( A )。

A.int *p=&i,i;B.int *p,i;C.int i,*p=&i; D.int i,*p;37. 若有说明:int n=2,*p=&n,*q=p,则以下非法的赋值语句是: ( D )A)p=q B)*p=*q C)n=*q D)p=n38.有语句:int a[10],;则 B 是对指针变量p的正确定义和初始化。

A)int p=*a; B)int *p=a; C)int p=&a; D)int *p=&a;39.若有说明语句“int a[5],*p=a;”,则对数组元素的正确引用是( C )。

A.a[p]B.p[a]C.*(p+2)D.p+240. 有如下程序int a[10]={1,2,3,4,5,6,7,8,9,10},*P=a;则数值为9的表达式是 BA) *P+9 B) *(P+8) C) *P+=9 D) P+8一、读程序基本输入输出及流程控制1.#include <stdio.h>main(){ int a=1,b=3,c=5;if (c==a+b)printf("yes\n");elseprintf("no\n");}运行结果为:no详见教材p89 选择结构详见教材p91关系符号详见附录D p378符号的优先级==表示判断符号两边的值是否相等;=表示将符号右边的值赋给左边的变量本题考点是选择结构3种基本形式的第二种选择结构三种一般形式中的“语句”皆为复合语句,复合语句要用{ }括起来,只有当复合语句中只包括一条语句时可以省略{ },此题即如此,因此两个printf操作没有加{ }若c==a+b成立,则执行printf("yes\n");否则(即c==a+b不成立),执行printf("no\n");+的优先级高于==,因此先算a+b,值为4,表达式5==4不成立,因此执行printf("no\n");即输出字符串no2.#include <stdio.h>main(){ int a=12, b= -34, c=56, min=0;min=a;if(min>b)min=b;if(min>c)min=c;printf("min=%d", min);}运行结果为: min=-34详见教材p89 选择结构本题考点是选择结构3种基本形式的第一种一共包含了两个选择结构(两个if语句)定义变量,并赋值此时a=12, b= -34, c=56, min=0将a中值拷贝,赋给min,覆盖了min中的0,此时min中的值被更新为12。

相关文档
最新文档