C语言题库

合集下载

C语言题库

C语言题库

一、判断题(每题1分)1。

函数即可以嵌套定义,又可以嵌套调用。

(×)2。

unsigned 和void 在C 中都是保留字.(√ )3.表达式 ++i 表示对变量i 自加1。

(√)4.C 语言源程序的基本结构单位是main 函数。

( ×)5。

字符常量的长度肯定为1. (√ )6.char a[]={’a','b’,’c'};char b[]={”abc"};数组a和数组b 占用的内存空间大小不一样。

(√ )7。

若有int i=10,,j=2;则执行完i*=j+8;后i 的值为28。

(×)8.int i,*p=&i;是正确的C 说明。

( √ )9.While 循环语句的循环体至少执行一次。

( ×)10.有数组定义int a[2][2]={{1},{2,3}};则a[0][1]的值为0。

(√ ) 11。

7&3+12的值是15。

(× )12。

C 语言本身不提供输入输出语句,输入和输出操作是由函数来实现的。

( √)13。

若 a=3,b=2,c=1 则关系表达式”(a〉b)==c" 的值为"真"。

(√ )14. 在C 语言中,整型数据在内存中占2个字节。

(× )15. 对二维数组a 来说,由于a+1与*(a+1)的值相等,因此二者的含义是一样的。

(× )16. break 语句可用于循环体内,它将退出该重循环。

(√)17。

将一个字符串"abc”赋给字符串变量str 的方法是str=”abc”。

. (×)18。

参加位运算的数据可以是任何类型的数。

(×)19. C 语言规定:在一个源程序中,main 函数的位置必须在最开始. ( × )20. 静态外部变量只在本文件内可用. (√)21。

若有宏定义:#define S(a,b) t=a;a=b;b=t由于变量t 没定义,所以此宏定义是错误的.( ×)22. 字符串只能存放在字符型数组中。

(完整版)C语言题库(带详解答案)

(完整版)C语言题库(带详解答案)

(完整版)C语⾔题库(带详解答案)⼀单项选择题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语言题库

C语言题库

第一章C语言概述一、选择题:1、一个C程序的执行是从( A )。

A本程序的main函数开始,到main函数结束B本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C本程序的main函数开始,到本程序文件的最后一个函数结束D本程序文件的第一个函数开始,到本程序main函数结束2、在 C 语言中,每个语句必须以( D )结束。

A. 回车符B. 冒号C. 逗号D. 分号3、C 语言规定:在一个源程序中,main函数的位置( C )。

A. 必须在最开始B. 必须在系统调用的库函数的后面C. 可以任意D. 必须在最后4、一个C 语言程序是由( B )。

A. 一个主程序和若干子程序组成B. 函数组成C. 若干过程组成D. 若干子程序组成5、下列说法中错误的是( D )。

A. 主函数可以分为两个部分:主函数说明部分和主函数体B. 主函数可以调用任何非主函数的其他函数C. 任何非主函数可以调用其他任何非主函数D. 程序可以从任何非主函数开始执行6、用 C 语言编写的源文件经过编译,若没有产生编译错误,则系统将( C )。

A. 生成可执行目标文件B. 生成目标文件C. 输出运行结果D. 自动保存源文件二、填空题:1、C 语言只有 32 个关键字和 9 种控制语句。

2、每个源程序有且只有一个 main 函数,系统总是从该函数开始执行C 语言程序。

3、C 语言程序的注释可以出现在程序中的任何地方,它总是以 \* 符号作为开始标记,以 */ 符号作为结束标记。

4、C 语言中,输入操作是由库函数 scanf 完成的,输出操作是由库函数 printf 完成的。

5、系统默认的C 语言源程序文件的扩展名是 .c ,经过编译后生成的目标文件的扩展名是 .obj ,经过连接后生成的可执行文件的扩展名是 .exe 。

6、C 语言的标识符只能由字母、数字和下划线三种字符组成。

第三章数据类型、运算符和表达式一、选择题:1、以下选项中,不正确的 C 语言浮点型常量是( C )。

c语言基础试题库及答案

c语言基础试题库及答案

c语言基础试题库及答案一、选择题1. C语言中,用于定义一个结构体的关键字是:A. structB. unionC. enumD. typedef答案:A2. 下列哪个选项不是C语言的标准数据类型?A. intB. floatC. charD. string答案:D3. 在C语言中,用于实现循环的关键字是:A. whileB. forC. ifD. switch答案:A、B4. C语言中,用于定义函数的关键字是:A. functionB. defC. voidD. int答案:C5. 下列哪个选项是C语言中的合法变量名?A. 2variableB. variable2C. variable_2D. int答案:B、C二、填空题1. C语言中,________关键字用于定义一个数组。

答案:int2. 在C语言中,________关键字用于定义一个指针。

答案:*3. C语言中,________关键字用于定义一个函数。

答案:int4. 在C语言中,________运算符用于求两个数的和。

答案:+5. C语言中,________运算符用于判断两个数是否相等。

答案:==三、简答题1. 请简述C语言中函数的定义和调用过程。

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

函数调用则是通过函数名和参数列表来调用已定义的函数。

2. 解释C语言中指针的概念及其用途。

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

指针常用于动态内存分配、数组处理和函数参数传递。

四、编程题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", sum);return 0;}```2. 编写一个C语言函数,用于交换两个整数变量的值。

c语言考试题库

c语言考试题库

1.程序输出结果是。

typedef union{ long i;int k[5];char c;} DATE;struct date{ int cat;DATE cow;double dog;} too;DATE max;main(){printf("%d\n", sizeof(struct date) + sizeof(max) );}A、30B、25C、18D、82.根据以下定义,能输出字母M的语句是。

struct person{ char name[9];Int age;};struct person class[4]={{"John",17},{"Paul",19},{"Mary",18},{"Adam",16}};A、printf("%c\n",class[3].name[1]);B、printf("%c\n",class[2].name[0]);C、printf("%c\n",class[2].name[1]);D、printf("%c\n",class[3].name);3.使用共用体变量,不可以()。

A、同时访问所有成员B、进行动态管理C、简化程序设计D、节省存储空间4.在定义构造数据类型时,不能()。

A、说明变量B、说明存储类型C、末尾不写分号D、初始化5.设有以下语句struct st{ int n;struct st *next;};struct st a[3]={5,&a[1],7,&a[2],9,NULL}, *p;p = &a[0];则值为6的表达式是。

A、(*p).n++B、p->n++C、++p->nD、p++->n6.C语言中,定义结构体的保留字是()。

C语言试题库(含答案)

C语言试题库(含答案)
C、Print f("%c\n",class[2].name[l]);
D、print f("%c\n",class[2].name[0]);
标准答案:D
【5】设单精度变量f,g的值均为5.0,则下面的表达式中,使f为10.0的表达式是。
A、f+=g
B、f-=g+5
C、f*=g-5
D、f/=g*5
标准答案:A
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;
A、15
B、10
C、25
D、20
标准答案:A
【15】程序段的基本结构中,不包含()。
A、函数结构
B、循环结构
C、顺序结构
D、分支结构
标准答案:A
【1】执行语句scanf("%d,%d",&m,&n);使m和n的值分别为1和2,正确输入是。
A、1
B、2
C、1,2
D、12
标准答案:c
【3】若用数组名作为函数调用的实参,传递给形参的是()。
#include<stdio.h>
main()
{int i=1;

C语言题库

C语言题库

一.选择题(单项)1.C语言中的标识符只能由字母、数字和下划线3种字符组成,且第一个字符——。

A必须为字母B必须为下划线C 必须为字母或下划线D 可以是字母、数字和下划线中的任一种字符2.下面4个选项中,均是C语言关键字的选项是——。

Aauto enum includeBswitch typedef continueC signed union scanfD if struct type3.下面4个选项中,均是不合法的用户标识符的选项是——。

A A P_0 doBfloat la0 _AC b-a goto intD _123 temp INT4.在C语言中,int、char和short三种类型的数据在内存中所占用的字节数——。

A由用户自己定义B均为2个字节C 是任意的D 由所用机器的机器字长决定5.下面4个选项中,均是合法浮点数的选项是——。

A+1e+1 5e-9.4 03e2B-.60 12e-4 -8e5C 123e 1.2e-.4 +2e-1D -e3 .8e-4 5.e-06.下面不正确的字符串常量是——。

AˊabcˊB〞12ˊ12〞C 〞0 〞D 〞〞7.假设所有的变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是——。

A7 B8C 6D 28.以下正确的叙述是——。

A在C语言中,每行只能写一条语句B若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数C 在C程序中,无论整数还是实数,都能被准确无误的表示D 在C程序中,%是只能用于整数运算的运算符9.以下表达式值为3的是——。

A 16-13%10B 2+3/2C 14/3-2D (2+6)/(12-9)10. 设变量a是整型,f是实型,i是双精度型,则表达式10+ˊaˊ+i*f值的数据类型为——。

A intB floatC doubleD 不确定11.在C语言中,char型数据在内存中的存储形式是——。

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语言概述(1)一个C程序的执行是从A、本程序的MAIN函数开始,至U 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程序中,注释说明只能位于一条语句的后面第二章数据类型、运算符与表达式x的值为(1)若x, i, j, k 都是int型变量,则计算下面表达式后,x =( i = 4 , j =16 , k = 32)A、4E、16C、3 2D、5 2(2)下列四组选项中,均不是C语言键字的选项是A、define , IF, typeB、getc, char, printfC、in elude, sea nf, caseE、if, struct, type(3)下面四个选项中,均是不合法的用户标识符的选项是A、A,P _0, doB> float,1a0, _AC、b-a, goto, intD _123, temp, INT(4)若有代数式3 ae/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;unsin ged 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> seanf( “%2d*%d%”,&x,&y,&z);C、seanf( “%x%*d%o,&x,&y,&z);D、seanf( “%x%o%6.2f,&x,&y,&z);(3)当输入数据的形式为:25,13,10 <回车〉时,以下程序的输出结果为mai n(){i nt x,y,z;sea nf( “ %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=e=5;B、int a, b, e=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)以下程序的运行结果是#i nclude “ stdio.hmai n() {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)请阅读以下程序:mai n(){int a=5 , b=0 , c=0; if (a+b+c) pri ntf( “else printf( } * * n”);“$ $ $ n”);A)有语法错误不能通过编译B)可以通过编译但不能直接通过连接C)输出* * *D)输出$ $ $(4)以下程序的运行结果是。

大学c语言试题题库及答案

大学c语言试题题库及答案

大学c语言试题题库及答案一、选择题(每题2分,共20分)1. 下列关于C语言的描述,正确的是:A. C语言是一种编译型语言B. C语言是一种解释型语言C. C语言是一种面向对象的语言D. C语言不支持函数答案:A2. 在C语言中,用于定义一个整型变量的关键字是:A. intB. floatC. charD. double答案:A3. 下列哪个选项是C语言中的合法标识符?A. 2variableB. variable2C. intD. _int答案:B4. C语言中,用于定义一个浮点型数组的语法是:A. int array[10];B. float array[10];C. char array[10];D. double array[10];答案:B5. 在C语言中,哪个运算符用于取模运算?A. %B. /C. *D. +答案:A6. 下列哪个选项是C语言中的逻辑运算符?A. &&B. ||C. ==D. =答案:A7. 在C语言中,用于定义一个字符型数组的语法是:A. int array[10];B. float array[10];C. char array[10];D. double array[10];答案:C8. C语言中,用于声明一个函数的关键字是:A. intB. floatC. voidD. return答案:C9. 下列哪个选项是C语言中的循环结构?A. ifB. switchC. forD. while答案:C10. 在C语言中,用于定义一个字符串常量的语法是:A. "Hello"B. 'Hello'C. "Hello"[10]D. 'Hello'[10]答案:A二、填空题(每题2分,共20分)1. 在C语言中,使用________运算符可以连接两个字符串。

答案:+2. C语言中的________关键字用于声明一个无返回值的函数。

C语言题库

C语言题库

C语言题库1.正确答案为C。

可以使用单引号括起来的字符常量来表示字符,'0'表示数字0对应的字符,因此可以用'0'<=m &&m<='9'来判断char型变量m是否是数字字符。

2.正确答案为D。

%d是用来输出int型数据的格式控制符。

3.正确答案为D。

||表示或,可以用x==' '||x=='\n'来表示“字符变量x为空格或回车”。

4.正确答案为B。

scanf函数可以从标准输入(键盘)读取数据,并将其存储到指定的变量中。

5.正确答案为D。

在switch语句中使用break语句可以跳出switch语句,而在循环语句中使用break语句是为了跳出循环体。

6.正确答案为B。

pow函数在math.h头文件中定义。

7.正确答案为D。

do-while语句构成的循环,在循环条件为假时结束循环。

8.正确答案为A。

变量名必须以字母或下划线开头,后面可以跟字母、数字或下划线。

9.正确答案为C。

标识符必须以字母或下划线开头,后面可以跟字母、数字或下划线。

10.正确答案为B。

一个C程序的执行是从main()函数开始,直到main()函数结束。

35.变量a声明为int型,b声明为double型。

a的初值为5,如果b获得a的一半值,应使用语句A:b=a/2.0.36.执行语句for(i=1;i<=10;i++) continue;后,i值为11.37.已知整型变量x=10,y=2,则表达式x/=y+2的运算结果是2.38.C语言的标识符只能由大小写字母、数字和下划线三种字符组成,第一个字符不可以是数字。

39.C语言可以使用getchar()函数实现输入。

h中定义。

40.使用系统提供的输出函数printf()时,实现换行功能的字符是'\n'。

判断题:1.在C程序中每条指令之后必须用分号结束。

- 错误2.表示关系“x等于y”,应使用C语言表达式x=y。

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语言考试题库及答案一、选择题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语言试题库(带答案解析)~排版

C语⾔试题库(带答案解析)~排版⼀、选择题1、以下不能定义为⽤户标识符的是()。

(A) MAIN (B) _HJ(D) LINE1 2、以下不能定义为⽤户标识符的是() (A) If(B) H_J (D) LINE12 3、下⾯属于C 语⾔标识符的是( )。

(A) 2ab (B) @f(C) b 4、下列符号中⽤来表⽰C 语⾔中的回车换⾏的是()。

(A) \r(C) \b (D) \t 5、在计算机系统中,可执⾏程序是() (A)源代码(B)汇编语⾔代码(D) ASCII 码6、在Visual C++ 环境下,C 源程序⽂件名的默认后缀是()。

(A) .obj (B) .txt (D) .doc7、Microsoft Visual C++ 中,C 语⾔可执⾏程序的扩展名是:( )(B) obj (C) c 或cpp (D) txt 8、C 程序由()组成。

(A)⼦程序 (B) 主程序和⼦程序 (D) 过程 9、C 程序的基本组成单位()。

(A) 数据类型 (B) 变量和常量 (D) 表达式 10、C 语⾔中主函数的个数是( )。

(A) 2个 (C) 任意个 (D) 10个 11、⼀个C 程序的执⾏是从() (B)本程序⽂件的第⼀个函数开始,到本程序⽂件最后⼀个函数结束. (C)本程序⽂件的第⼀个函数开始,到本程序main 函数结束. (D)本程序的main()函数开始,到本程序⽂件的最后⼀个函数结束. 12、以下叙述正确的是(A)在C 语⾔程序中,main 函数必须放在其他函数的最前⾯ (C)在C 语⾔程序中,只有main 函数才可单独进⾏编译 (D)每个后缀为.C 的C 语⾔源程序都应该包含⼀个main 函数13、设变量a 是整型,b 是实型,c 是双精度型,则表达式2+’a’+b*c 值的数据类型是()。

(A) int (B) float 14、以下选项中表⽰⼀个合法的常量是(说明:符号□表⽰空格)A) 9□9□9 C) D)15、以下选项中⾮法的字符常量是A)'\102' B)'\65' C)'\xff' 16、以下选项中,能表⽰逻辑值“假”的是A)1 B) D)17、下列关系表达式中,结果为“假”的是 A)(3+4)>6 C) 3<=4||3 D)(3<4)==1 18、关于C 语⾔变量,以下说法不正确的是() (A) 变量名由程序员定义,必须符合标识符的命名规则。

C语言题库

C语言题库

C语言题库1. 输入一个整数,判断它是几位数?(*)2. 编制一函数,得到一个整数的某一位的数字。

(*)3. 求出所有的水仙花数。

水仙花数是一个三位数,其各位数字的立方和等于该数。

例如153=1^3+5^3+3^3。

(**)4、编写函数fun求1000以内所有7的倍数之和。

(*)int fun(int m){ }5、将一个数组中的元素按逆序存放。

(*)6、输入三个整数x,y,z,请把这三个数由小到大输出。

(*)7、递归调用计算阶乘, 输入n,求n的阶乘(*)8、删除字符串中的数字字符。

例如:输入字符串:48CTYP9E6,则输出:CTYPE。

(**)9、计算并输出500以内最大的10个能被13或17整除的自然数之和。

(*)10、统计一个字符串中的字母、数字、空格和其它字符的个数。

(*)11、不用第三个变量,实现两个数的对调操作。

(**)12、求1!+3!+5!+……+n!的和。

(**)13、求一批数中最大值和最小值的差。

(*)14、编写函数fun,函数的功能是:求一分数序列2/1,3/2,5/3,8/5,13/8,21/13…的前n项之和。

每一分数的分母是前两项的分母之和;每一分数的分子是前两项的分子之和。

例如:求前20项之和的值为32.660259。

(**)15、打印出如下图(菱形)(**)*************************16、用冒泡法对数组a进行由小到大的排序。

(*)17、求出二维数组中的最大元素值(*)18、输入一个字符串,对字符串逆序输出(*)19、已知一个数列,它的头两项分别是0和1,从第三项开始以后的每项都是其前两项之和。

编程打印此数,直到某项的值超过200为止。

(***)20、计算平均成绩并统计90分以上人数。

(*)21、有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?(***)22、判断101-200之间有多少个素数,并输出所有素数。

C语言题库(含答案)

C语言题库(含答案)

C语言题库(含答案)一、简答题。

( 共14题 ,共0分,每题0分 )1. int i=10, j=10, k=3; k*=i+j; k最后的值是?答:k = 60ok2. 写出程序结果:void Func(char str[100]){printf("%d\n", sizeof(str));}答:4或者8(如果操作系统为32位则为4,64位则为8)是地址吗3. 写出sizeof(struct name2)的结果struct name2{char str;int num;short x;}不会!看结构答:此题考察结构对齐的知识,结果为124. 写出sizeof(struct name1) 的结果struct name1{char str;short x;int num;}不会!答:同样考察的是结构对齐的知识,结果为85. A.c 和B.c两个c文件中使用了两个相同名字的static变量,编译的时候会不会有问题?这两个static变量会保存到哪里(栈还是堆或者其他的)?答:没有问题,static变量只在当前文件中有效,也就是说static 变量的作用域属于所在的文件域。

static变量保存在全局/静态区6. (void *)ptr 和(*(void**))ptr的结果是否相同?答:相同。

首先第一个(void *)ptr将ptr转换为空指针类型(一级指针),(*(void**))ptr相当于先将ptr转换为空类型指针(二级指针)。

二级指针是指向指针的指针,在前面加上*(解指针),也就是空类型指针了(一级指针)。

7. #define DOUBLE(x) x+x ,i = 5*DOUBLE(5);i 是多少?答: i = 5 * 5+5 = 30;看书上的结构理解下意思8. 下面的声明都是什么意思?const int a;int const a;const int *a;int * const a;int const * const a ;答:第一个定义常量a,第二个也是定义常量a,第三个定义常量指针a,第四个定义指针常量a,第五个定义指向常量的指针常量(相当于const引用)。

C语言题库

C语言题库

第一章概述一、单选题1、C语言的前身是(B )。

A.A语言B.B语言C.C++语言D.BASIC语言2、C语言规定,必须用(C )作为主函数名。

A.FunctionB.includeC.mainD.void3、一个C程序可以包含任意多个不同名的函数,但有且仅有一个(B )。

A.过程B.主函数C.函数D.进程4、一个C程序总是从(B )开始执行。

A.过程B.主函数D.进程5、C程序的基本构成单位是(A )。

A.函数B.过程C.进程D.子程序6、下列说法正确的是( D)。

A.main函数必须放在C程序的开头B.main函数必须放在C程序的最后C.main函数可以放在C程序中间部分,执行C程序时是从程序开头执行的D.main函数可以放在C程序中间部分,执行C程序时是从main函数开始的7、下列说法正确的是(C )。

A.在执行C程序时不是从main函数开始的B.C程序书写格式严格限制,一行内必须写一个语句C.C程序书写格式自由,一个语句可以分写在多行上D.C程序书写格式严格限制,一行内必须写一个语句,并要有行号8、在C语言中,每个语句和数据定义结束都是用( C)。

A.句号C.分号D.括号9、不是C语言提供的合法关键字(B )。

A.switchB.printfC.caseD.default10、不是C语言提供的合法关键字(D )。

A.intB.floatC.charD.scanf11、C语言提供的合法关键字是( A)。

A.breakB.printfC.functionD.end12、C语言提供的合法关键字是( A)。

A.continueB.procedureC.begin13、下列说法正确的是(C )。

A.一个函数的函数体必须要有变量定义和执行部分,二者缺一不可B.一个函数的函数体必须要有执行部分,可以没有变量定义C.一个函数的函数体可以没有变量定义和执行部分,函数可以是空函数D.一个函数的函数体必须要有变量定义,可以没有执行部分14、下列说法正确的是(D )。

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语言题库
D.输出为|-08567|
37.下面语句中,符合C语言语法的赋值语句是(未填)错误正确答案:D
A.a=7+b+c=5a+7;
B.a=7+b++=a+7;
C.a=7+b=b++,a+7;
D.a=7+b;c=a+7;
38.已知inti,a;执行语句”i=(a=2*3,a*5),a+6;”后,变量a的值是(未填)。错误正确答案:A
B.1
C.5
D.6
16.已知int a='R';则正确的表达式是(A)。正确
A.a%10
B.a=int(3e2)
C.2*a=a++
D.a=a+a=a+3
17.设X,Y,Z和K是int型变量,则执行表达式:X=(Y=4,Z=16,K=32)后,X的值为(C)。正确
A.4
B.16
C.32
D.52
18.请读程序:
D.switch(grade){case’C’:printf(”<60\n”);break;case’B’:printf(”60——84\n”);break;default:printf(”grade is error!\n”);break;case ’A’:printf(”85——100\n”);}
#include<stdio.h>
main()
{ int m=13;
float a=12.6, x;
x=m/2+a/2;
printf(“%f\n”, x);
}
错误正确答案:B
A.12.000000
B.12.300000

C语言试题库

C语言试题库

二、数据类型、运算符与表达式 (一)(一)选择题1.若x、i、j、k都是int型变量,则计算下面表达式后,x的值为 C 。

x=(i=4,j=16,k=32)A) 4 B) 16 C) 32 D) 522.下列四组选项中,均不是C语言关键字的选项是 A 。

A) define IF typeB) getc char printfC) include case scanfD) while go pow3.下列四组选项中,均是不合法的用户标识符的选项是 B 。

A) W P_0 doB) b-a goto intC) float la0 _AD) -123 abc TEMP4.下列四组选项中,均是合法转义字符的选项是 A 。

A) ‘\”’ ‘\\’ ‘\n’B) ‘\’ ‘\017’ ‘\”’C) ‘\018’ ‘\f’ ‘xab’D) ‘\\0’ ‘\101’ ‘xlf’5.下面正确的字符常量是 D 。

A) “c” B) ‘\\’’ C) ‘’ D) ‘K’6.以下叙述不正确的是 C 。

A) 在C程序中,逗号运算符的优先级最低B) 在C程序中,MAX和max是两个不同的变量C) 若a和b类型相同,在计算了赋值表达式a=b后,b中的值将放入a中,二b中的值不变D) 当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值7.以下叙述正确的是 C 。

A) 在C程序中,每行只能写一条语句B) 若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数C) 在C程序中,%是只能用于整数运算的运算符D) 在C程序中,无论是整数还是实数,都能被准确无误地表示8.已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2=‘A’+‘6’-‘3’后,c2中的值为 B 。

A) D B) 68 C) 不确定的值 D) C9. sizeof(float)是 C 。

A) 一个双精度型表达式 B) 一个整型表达式C) 一种函数表达式 D) 一个不合法的表达式10.设C语言中,一个int型数据在内存中占2个字节,则unsigned int 型数据的取值范围为 C 。

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

C语言题库1.若要用fopen函数打开一个新的二进制文件,该文件要既能读也能写,则文件方式字符串应是(D)。

A、"rb+"B、"ab++"C、"ab"D、"wb+"2.设有如下定义: struct sk {int a; float b;} data,*p;若要使p指向data中的a域,正确的赋值语句是(C)。

A、p=(struct sk*) data.a;B、*p=data.a;C、p=&data.a;D、p=&data,a;3.对结构体类型的变量的成员的访问,无论数据类型如何都可使用的运算符是(B)。

A、&B、.C、*D、->4.下列关于指针定义的描述,错误的是(A)。

A、指针是一种变量,该变量用来存放某个变量的值B、指针是一种变量,该变量用来存放某个变量的地址值C、指针变量的类型与它所指向的变量类型一致D、指针变量的命名规则与标识符相同5.设有如下的程序段:char str[ ]="Hello";char *ptr;ptr=str;执行完上面的程序段后,*(ptr+5)的值为(D ).A、不确定的值B、'o'的地址C、'o'D、'\0'6.若有以下的定义:int t[3][2];能正确表示t数组元素地址的表达式是(D)。

A、&t[1]B、t[3]C、&t[3][2]D、t[2]7.下列说法中正确的是(B ).A、函数调用不占运行时间,只占编译时间.B、宏替换不占运行时间,只占编译时间.C、有参数的宏定义,就是函数.D、在定义宏时,宏名与带参数的括弧之间可以加空格.8.以下叙述中正确的是(C)。

A、全局变量的作用域一定比局部变量的作用域范围大B、未在定义语句中赋初值的auto变量和static变量的初值都是随机值C、静态(static)类别变量的生存期贯穿于整个程序的运行期间D、函数的形参都属于全局变量9.下列叙述中正确的是(B)。

A、C语言的子程序有过程和函数两种B、C语言所有函数都是外部函数C、C语言的函数可以嵌套定义D、C语言编译时不检查语法10.函数的形式参数系统默认存储类型说明是(D)。

A、staticB、externC、registerD、auto11.以下对C语言函数的描述中,正确的是(B)。

A、C函数既可以嵌套定义又可以递归调用B、C程序必须由一个或一个以上的函数组成C、函数必须有返回值,否则不能使用函数D、C程序中有调用关系的所有函数必须放在同一个程序文件中12.以下不能正确进行字符串赋初值的语句是(A)。

A、char str[5]="good!";B、char str[5]={'g','o','o','d'};C、char *str="good!";D、char str[]="good!";13.选择正确的输入语句( B).(其中:char string[10];)使得string的内容为"Hello".A、scanf("%c", &string);B、scanf("%s", string);C、scanf("%c", string);D、scanf("%s", &string);14.以下对二维数组a的正确说明是(D)。

A、int a[3][]B、float a(3,4)C、float a(3)(4)D、double a[1][4]15.下列数组说明中,正确的是(B)。

A、static char str1[],str2[];str2={"China"}; strcpy(str1,str2);B、static char str[]="China";C、static char str[]; str="China";D、static char str1[5],str2[]={"China"}; str1=str2;16.若有说明 int a[3][4];则对a数组元素的正确引用是(C)。

A、a[1,3]B、a[2][4]C、a[1+1][0]17.以下正确的描述是(A ).A、只能在循环体内和switch语句内使用break语句B、continue语句的作用是终止整个循环的执行C、从多层嵌套的外层循环中退出时,只能使用goto语句D、在循环体内使用break和continue语句的作用相同18.在C语言中,为了结束由while语句构成的循环,while后一对圆括号中表达式的值应该为(C)。

A、非0B、1C、0D、True19.针对for循环语句,for(表达式1;表达式2;表达式3),下列说法正确的是( C).A、三个表达式和中间分隔分号均可省略B、三个表达式和中间分隔分号均不能省略C、三个表达式可省略,但中间分隔分号不能省略D、三个表达式不能省略,但中间分隔分号可省略20.若i为整型变量,则以下循环执行次数是(A)。

for(i=2;i==0;) printf("%d",i--);A、0次B、2次C、无限次D、1次21.已知键盘输入a=4,b=3,下面程序输出的结果是(C ).main(){ int a,b,s;scanf("%d%d",&a,&b);s=a;if(a<b) s=b;s=s*s;printf("%d\n",s);}A、9B、13C、16D、1522.算术运算符、赋值运算符和关系运算符的运算优先级按从高到低的顺序依次为(A )。

A、算术运算、关系运算、赋值运算B、关系运算、赋值运算、算术运算C、算术运算、赋值运算、关系运算D、关系运算、算术运算、赋值运算23.在C语言中,能代表逻辑值“真”的是(B)。

A、大于0的数C、非0整数D、True24.表示关系x>0且y<=10的C语言表达式为( D).A、(x<=0)AND(y<=10)B、x>0,y<=10C、(x<=0)&(y<=10)D、(x>0)&&(y<=10)25.下列运算符优先级最低的是(A ).A、=B、+C、!D、&&26. C语言中,逻辑"真"等价于( C)。

A、大于零的整数B、大于零的数C、非零的数D、非零的整数27.根据下面的输出结果,正确的输出语句是:( D);x=2.23000,y=4.35000A、printf("x=%f,y=%f\n",x,y);B、printf("x=%7.2f,y=%7.2f",x,y);C、printf("x=%7.2f,y=%7.2f",&x,&y);D、printf("x=%7.5f,y=%7.5f\n",x,y);28.已知i、j、k为int型变量,若从键盘输入:1,2,3<回车>,使i的值为1、j的值为2、k的值为3,以下选项中正确的输入语句是( C)。

A、scanf("%d %d %d",&i,&j,&k);B、scanf("%2d%2d%2d",&i,&j,&k);C、scanf("%d,%d,%d",&i,&j,&k);D、scanf("i=%d,j=%d,k=%d",&i,&j,&k);29.根据下面的程序,正确的输出形式是(A );main(){int i=5,j=10;printf ("i=%d,", i);printf ("j=%d ", j);}30. 若变量已正确定义并赋值,下面符合C语言语法的表达式是(A)。

A、a=b=c+2B、a:=b+1C、int 18.5%3D、a=a+7=c+B31.对于赋值语句char cx='\037';判断正确的是:( D).A、cx的值是四个字符B、不合法,不能赋值C、cx的值是三个字符D、cx的值是一个字符32.设有说明:char w; int x; float y; double z; 则表达式w*x+z-y值的数据类型为( D ).A、charB、intC、floatD、double33.先用语句定义字符型变量c,然后要将字符a赋给c,则下列语句中正确的是(B)。

A、C='97'B、c='a';C、c="97";D、c="a";34.已定义ch为字符型变量,以下赋值语句中错误的是(A)。

A、ch='\';B、ch=NULL;C、ch='\xaa';D、ch=62+3;35.以下选项中合法的用户标识符是(D)。

A、longB、A.datC、3DmaxD、_2Test36.下列正确的标识符是( C).A、a+bB、6aC、_doD、%y37.执行下列语句后变量x和y的值是(A)。

y=10;x=y++;A、x=10,y=11B、x=11,y=11C、x=11,y=10D、x=10,y=1038.假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是(C)。

A、2B、6C、8D、739.若int a=2,则执行完表达式a-=a+=a*a后,a的值是(C )。

A、-4C、0D、-240.下列四组选项中,均不是C语言关键字的选项是(B)。

A、while go powB、define IF typeC、include scanf caseD、getc char printf41.在一个C程序中(A)。

A、main函数可以在任何地方出现B、main函数必须出现在固定位置C、main函数必须出现在所有函数之前D、main函数必须出现在所有函数之后42. C语言中用于结构化程序设计的三种基本结构是(B)。

A、if、switch、breakB、顺序结构、选择结构、循环结构C、if、for、continueD、for、while、do-while43. C语言源程序文件经过C编译程序编译连接之后生成一个后缀为(A )的可执行文件A、.exeB、.basC、.objD、.c44. C语言的程序一行写不下时,可以(C ).A、用分号换行B、用逗号换行C、用反斜线换行D、在任意标识符后用回车键换行45.对字符数组不正确的赋值方式是_C____ .A、char c[ ]={"china"};B、char *string;string="china";C、char c[10];c[10]={"china"};D、char *string="china";46.对auto存储类型的变量,若不赋值,则其值是( B).A、' \0 'B、随机的C、系统自动赋值0D、根据情况赋值47.构成C语言程序的基本单位是(C )。

相关文档
最新文档