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语⾔题库(带详解答案)⼀单项选择题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分,共100题)1.C语言源程序文件是后缀为(未填)的文件。
错误正确答案:AA. .cB. .exeC. .objD. .bat2.C语言中主函数的个数是(未填)。
错误正确答案:DA. 2个B. 任意个C.10个D. 1个3.定义指针变量时,需要在指针变量名前加上(未填)错误正确答案:CA.!B.@C.*D.&4.变量的指针,其含义是指该变量的(未填)错误正确答案:BA.值B.地址C.名D.标志5.若定义:int a=511,*b=&a;则printf("%d\n",*b);的输出结果为(未填)错误正确答案:DA.无确定B.a的地址C.512D.5116.若有以下定义int a[10],*p=a;则p+5表示(未填)错误正确答案:AA.元素a[5]的地址B.元素a[5]的值C.元素a[6]的地址D.元素a[6]的值7.下列变量名中合法的是(未填)错误正确答案:AA.TomB.3a6bC.6a7bD.5ABC8.C语言中的标识符只能由字母,数字和下划线三种字符组成,且第一个字符(未填)。
错误正确答案:CA.必须为字母B.必须为下划线C.必须为字母或下划线D.可以是字母,数字和下划线中任一字符9.表达式18/4*sqrt(4.0)/8值的数据类型为(未填)。
错误正确答案:CA.intB.floatC.doubleD.不确定10.若希望当A的值为奇数时,表达式的值为真,A的值为偶数时,表达式的值为假,则以下不能满足要求的表达式是(未填)。
错误正确答案:CA.A%2==1B.!(A%2==0)C.!(A%2)D.A%211.下列数据中,为字符的是(未填)。
错误正确答案:DA.‘AB’B."A"C.HowD.'A'12.下列不合法的实数是(未填)错误正确答案:CA.34.65B.6.3E2C.e3D.54.313.设有说明:char w;int x;float y;double z;则表达式w*x+z-y 值的数据类型为(未填)。
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语言基础试题库及答案一、选择题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语言考试题库
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语言考试题库及答案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语言题库
(10)下列叙述中正确的是D
A)计算机病毒只感染可执行文件B)计算机病毒只感染文本文件
C)计算机病毒只能通过软件复制的方式进行传播
D)计算机病毒可以通过读写磁盘或网络等方式进行传播
{
int a,b;
scanf("%d,%o",&a,&b);
b+=a;
printf("%d",b);
}
A. 36 B. 34 C.输入错误,b的值不确定D. 18
30.读懂程序并填空。
#include <stdio.h>
void main()
{
char ch=0x31;
printf("%d\n",ch);//屏幕显示___49
void main()
{
int sum;
sum = 10 + 15;
printf("sum=%d\n",sum);
printf("result is 25\n");
}
这段程序中常量有: ACF
A. 10 B. sum C. 15D. 25 E. main F. PI
9. C语言中整形常量按进制划分,有以下几种:(多选) ABC
a+4.5 10.5
ch+a+f 73.1
(a+30)/5 7
(a+30)/5.0 7.2
16.指出下面错误的表达式:(多选) BD
A. a+b=5 B. 56=a11 C. i=i++
D. 5.6+6.2%3.1 E. 12 F. a=5,b=6,c=7
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语言试题题库及答案一、选择题(每题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语言试题库(含答案)
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));
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语言考试题库及答案一、选择题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语⾔试题库(带答案解析)~排版⼀、选择题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语言题库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语言题库(含答案)一、简答题。
( 共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语言题库
第一章概述一、单选题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语言考试题库及答案一、选择题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语言题库
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语言试题库
二、数据类型、运算符与表达式 (一)(一)选择题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、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、判断题(每题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. 字符串只能存放在字符型数组中. ( √ )23. 若 a=3,b=2,c=1 则关系表达式"(a>b)==c" 的值为"真". (√ )24. 在标准C 中,"="是判断两个数是否相等. ( × )25. 函数调用可以出现在执行语句中,但不能出现在表达式中. (× )26. break 语句可用于循环体内,它将退出该重循环. ( √ )27. strcat(s1,s2)函数是将字符串s1复制到字符串s2中. (× )28. 函数若无返回值,则它一定无形参。
( × )29. C 语言是一种结构化程序设计语言. ( √ )30. 静态外部变量只在本文件内可用. ( √ )31. 关系运算符<= 与 == 的优先级相同.( × )32. C 语言中的整型常量有3种表示方法. ( √ )33. C 语言中只能逐个引用数组元素而不能一次引用整个数组. (√ )34. char *p="girl";的含义是定义字符型指针变量p,p 的值是字符串"girl". ( × )35. 静态变量和外部变量都是全局变量,它们的存储是静态的. (× )36. 共同体变量所占的内存长度等于最长的成员的长度。
( √ )37. 由于主函数首部经常缩写成main(),所以它不可能有形式参数. (× )38. 通过return 语句,函数可以带回一个或一个以上的返回值。
( × )39. C 语言俗称"低级语言的高级形式",这说明C 语言的功能不强. ( × )40. 程序进行编译时,不为形式参数分配存储空间. ( √ )41. C 语言的当型循环是先执行循环后判断条件.( × )42. "++"运算符的优先级比"+"运算符的优先低.( × )43. 指针就是地址,因此一个变量的指针就是该变量的地址. (√ )44. 在if 语句中,else 前一个语句可不加";" ( × )45. return 后面括号里的表达式的值即是此函数的值. (√ )46.char a[]={'a','b','c'};char b[]={"abc"};数组a和数组b 占用的内存空间大小不一样. ( √ )47. 结构体类型只有一种。
(× )48. 在任何情况下,对二维数组的初始化都可以省略第一维的大小。
( × )49. 结构化程序设计所规定的三种基本控制结构是顺序、选择、输出. ( × )50.有数组定义int a[2][2]={{1},{2,3}};则a[0][1]的值为0. ( √ )二、单项选择题(每题2分)1.C语言中运算对象必需是整型的运算符是( A )A. %B. /C. !D. *2.C程序的执行是从( A )A本程序的main函数开始,到main函数结束B本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C本程序的main函数开始,到本程序文件的最后一个函数结束D本程序文件的第一个函数开始,到本程序main函数结束3.以下选项中,( D )是不正确的 C 语言字符型常量。
A. 'a'B. '\x41'C. '\101'D. "a"4.以下程序的输出结果是( C )A.0 B. 1 C. 3 D. 不确定的值#include<stdio.h>main( ){ int x=10, y=3;printf(“%d\n”,y=x/y); }5.以下对二维数组a 的正确说明是( C )A.int a[3][]B.float a(3,4)C.double a[1][4]D.float a(3)(4)6.字符串"ABC"在内存占用的字节数是( B )。
A. 3B. 4C. 6D. 87.下列运算符中优先级最高的运算符是(A)A.!B.% C.-= D.&&8.以下程序的输出结果是( A )A. 1B. 2C. 3D. 4#include<stdio.h>main( ){ int w=4,x=3,y=2,z=1;printf(“%d\n”,(w<x?w:z<y?z:x)); }9.以下叙述正确的是(D)A. do-while语句构成的循环不能用其他语句构成的循环代替.B. do-while语句构成的循环只能用break语句退出C. 用do-while语句构成循环时,只有在while后的表达式为非零时结束循环D. 用do-while语句构成循环时,只有在while后的表达式为零时结束循环10.在定义一个结构体变量时,系统分配给它的内存是( D )。
A.结构体中第一个成员所需内存量B.结构体中最后一个成员所需内存量C.成员中占内存量最大者所需容量D.各成员所需内存量的总和11.若有下列定义,则对a 数组元素地址的正确引用是( C ).int a[5],*p=a;A.*(p+5) B.*p+2C.*(a+2) D.*&a[5]12.下列定义不正确的是( C )。
A.#define PI 3.141592 B.#define S 345C.int max(x,y); int x,y; { } D.static char c;13.在C 语言中,形参的缺省存储类是( A )。
A.auto B.registerC.static D.extern14.以下函数调用语句中实参的个数是( A ).exce((v1,v2),(v3,v4,v5),v6);A.3 B.4 C.5D.615. 以下描述中,正确的是( C )A.预处理是指完成宏替换和文件包含中指定的文件的调用B.预处理指令只能位于C 源文件的开始C.C 源程序中凡是行首以#标识的控制行都是预处理指令D.预处理就是完成C编译程序对C源程序第一遍扫描,为编译词法和语法分析作准备16.以下字符中不是转义字符的是( C )A.\aB.\bC.\cD.\\17. C 语言程序中必须有的函数是( B )A.#include "stdio.h"B.mainC. printfD.scanf18.有定义:int a=8,b=5,c;, 执行语句c=a/b+0.4;后,c 的值为 ( B)A.1.4 B.1 C.2.0 D.219.以下程序的输出结果是( D )A.i=2,,j=1,k=3 B. i=1,,j=1,k=2 C. i=4,,j=2,k=4 D. i=1,j=1,k=3 #include<stdio.h>main( ){int i,j,k,a=3,b=2;i=(--a==b++)?--a:++b;j=a++;k=b;printf("i=%d,j=%d,k=%d\n",i,j,k);}20. 下列选项中正确的语句组是( D )。
A.char s[8]; s={"Beijing"};B.char *s; s={"Beijing"};C.char s[8]; s="Beijing";D.char *s; s="Beijing";21. 若已定义x 为int 类型变量,下列语句中说明指针变量p 的正确语句是( C).A.int p=&x; B.int *p=x; C.int *p=&x; D.*p=*x;22.sizeof(float)是( C).A.一种函数调用B.一个不合法的表达式C.一个整型表达式D.一个浮点表达式23. 已知year 为整型变量,不能使表达式(year%4==0&&year%100!=0)||year%400==0的值为"真"的数据是( A).A.1990 B.1992 C.1996 D.200024. 下面有关for 循环的正确描述是 ( D )A.for 循环只能用于循环次数已经确定的情况B.for 循环是先执行循环体语句,后判断表达式C.在for 循环中,不能用break 语句跳出循环体D.for 循环的循环体语句中,可以包含多条语句,但必须用花括号括起来25. 在位运算中,操作数每右移一位,其结果相当于( B).A.操作数乘以2 B.操作数除以2C.操作数乘以16 D.操作数除以1626. 以下能对二维数组a 进行正确初始化的语句是(B)。