c语言题库 (1)

合集下载

c语言练习1

c语言练习1

练习1一、选择题1、一个C程序是由(B)。

A.一个主程序和若干子程序组成B.一个或多个函数组成C.若干过程组成D.若干子程序组成2、一个C程序的执行是从( A )。

A.main函数开始,直到main函数结束B.第一个函数开始,直到最后一个函数结束C.第一个语句开始,直到最后一个语句结束D.main函数开始,直到最后一个函数结束3、C语言语句的结束符是(B)。

A.回车符B.分号C.句号D.逗号4、下面标识符中( D )不是C语言的关键字。

A.char B.goto C.case D.include5、以下说法正确的是(A)A.C程序的注释可以出现在程序的任何位置,它对程序的编译和运行不起任何作用。

B.C程序的注释只能是一行。

C.C程序的注释不能是中文文字信息。

D.C程序的注释中存在的错误会被编译器检查出来。

6、以下说法正确的是(D)A.C程序中的所有标识符都必须小写B.C程序中关键字必须小写,其他标识符不区分大小写C.C程序中所有标识符都不区分大小写D.C程序中关键字必须小写,其他标识符区分大小写。

7、设x、y均为float型变量,则以下不合法的赋值语句是(B)A.++x ; B.y=(x%2)/10 ; C.x*=y+8; D.x=y=0 ;解析:运算符%要求两端的操作数必须为整型,而在答案B中%号两端的操作数为x和2,x为实型,所以是错误的。

8、下列不正确的转义字符是(C)A.' \\ ' B.' \' ' C.' \19 ' D.' \0 '解析:转义字符是由单引号括起来的带反斜线的字符,这些字符具有特殊的含义,反斜线后可以是数字来代表某个字符,而这些数字只包括两种:八进制(1-3位)和十六进制(1-2位)。

十六进制前面要加x(或X),这里的C答案反斜线后是数字,但不是x开头,所以应该是八进制数,但是数值里有9,和八进制数不符,所以是错误的。

C语言程序设计(第三版)习题库(1)

C语言程序设计(第三版)习题库(1)

C 语言程序设计(第三版)习题库1、设圆半径r=1.5,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。

用scanf 输入数据,输出计算结果,输出时要求文字说明,取小数点后两位数字。

请编程序。

#include <stdio.h>main(){float r,h,C1,Sa,Sb,Va,Vb;scanf(“%f ”,&r);scanf(”%f ”,&h );;C1=2*3.14*r;Sa=3.14*r*r;Sb=4*Sa;Va=4*3.14*r*r*r/3;Vb=Sa*h;printf(“周长=%.2f ,面积=%2f,表面积=%.2f,圆球体积=%.2f,圆柱体积=.2f,C1,Sa,Sb,Va,Vb );}2、输入一个华氏温度,要求输出摄氏温度。

公式为 c=5(F-32)/9输出要求有文字说明,取位2小数。

#include <stdio.h>main(){float F,c;scanf("%f",&F);c=5*(F-32)/9;printf("c=%.2f",c);}3、有一函数:⎪⎩⎪⎨⎧≥-<≤-<=10113101121x x x x x x y 写一程序,输入x 值,输出y 值。

#include <stdio.h>main(){int x,y;printf("输入x :");scanf("%d",&x);if(x<1) { /* x<1 */y=x;printf("x=%3d, y=x=%d\n",x,y);} else if (1<=x-10){ /* 1≤x -10 */ 或x<10y=2*x-1;printf("x=%3d, y=2*x-1=%d\n",x,y);} else{ /* x≥10 */y=3*x-11;printf("x=%3d, y=3*x-11=%d\n",x,y);}}4、给定一个不多于5位的正整数,要求:①求它是几位数;②按逆序打印出各位数字。

(完整版)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语言精编100题(C语言考试题库) ( 1 )

C语言精编100题(C语言考试题库) ( 1 )

C语言精编100题一、单选题1.由C语言编写的代码程序( )A. 可直接执行B. 是一个源程序C. 经过编译即可执行D. 经过编译解释才能执行2.按照C语言规定的用户标识符命名规则,不能出现在标识符中的是( )A. 大写字母B. 中划线C. 数字字符D. 下划线3.下列选项中,不能用作标识符的是( )A. _1234_B. _1_2C. int_2_D. 2_int_4.以下选项中合法的用户标识符是( )A. longB. _2TestC. 3DmaxD. A.dat5.以下不能定义为用户标识符的是( )A. MainB. _0C. _intD. sizeof6.下列定义变量的语句错误的是( )A. int _int;B. double int_;C. char For;D. float US$;7.在C语言中,合法的实型常数是( )A. 5E2.0B. E-3C. 2E0D. 1.3E8.在C语言中,合法的实型常数是( )A. 1.2E0.5B. 3.14159EC. 5E-3D. E159.以下选项中,不能作为合法常量的是( )A. 1.234e04B. 1.234e0.4C. 1.234e+4D. 1.234e010.以下不合法的数值常量是( )A. 011B. le1C. 8.0E0.5D. 0xabcd11.在C语言中,非法的字符常量是( )A.‘\t’B.‘\17’C. "\n"D.‘\xaa’12.以下不合法的字符常量是( )A.‘\018’B.‘\"’C.‘\\’D.‘\xcc’13.下列运算符中优先级最高的运算符是( )( )A. <=B. =C. %D. &&A. ==B. /C. =D. >=14.以下程序的输出结果是( )main(){ int a=3,b=4;printf("%d\n",a<=b);}A. 3B. 4C. 1D. 015.在C语言中,以下非法的表达式是( )A. 0<=x<=100B. i=j==0C. (char)(65+3)D. x+1=x+116.在C语言中,以下非法的赋值语句是( )A. j++;B. ++(i+1);C. x=j>0;D. k=i==j;17.表达式3.6-5/2+1.2+5%2的值是( )A. 4.3B. 4.8C. 3.3D. 3.818.设有语句:int a=3;则执行了语句a+=a-=a*a;变量a的值是( )A. 3B. 0C. 9D. -1219.设有语句:int x=10;则执行了语句x+=x-=x-x;变量x的值是( )A. 10B. 20C. 40D. 3020.以下程序的输出结果是( )( )( )( )( )⑴ main(){ int i=10,j=1;printf("%d,%d\n",i--,++j);}A. 9,2B. 10,2C. 9,1D. 10,1⑵ main(){ int a=12,b=12;printf("%d %d\n" ,--a,++b);}A. 10 10B. 12 12C. 11 10D. 11 13⑶ main(){ int x=023;printf("%d\n",--x);}A. 17B. 18C. 23D. 24⑷ main(){ int x=10,y=10;printf("%d %d\n",x--,--y);}A. 10 10B. 9 9C. 9 10D. 10 9⑸ main(){ int i=010,j=10;printf("%d,%d\n",++i,j--);}A. 11,10B. 9,10C. 010,9D. 10,921.以下程序的输出结果是( )main(){ int x=100,y=200;printf("%d\n",(x,y)); }A. 200B. 100C. 100 200 D)200 10022.以下程序的输出结果是( )main(){ int x=10,y=3,z;printf("%d\n",z=(x%y,x/y));}A. 1B. 0C. 4D. 323.int k=0;,以下选项的四个表达式中与其他三个表达式的值不相同的是( )A. k++B. k+=1C. ++kD. k+124.以下程序的输出结果是( )main(){ int x,y,z;x=y=1;z=x++,y++,++y;printf("%d,%d,%d\n",x,y,z); }A. 2,3,3B. 2,3,2C. 2,3,1D. 2,2,125.设x、y、t均为int型变量,则执行语句:x=y=3;t=++x||++y;后,y的值为( )A. 1B. 2C. 3D. 426.设int x=-1;执行表达式++x||++x||++x||++x,x的值是( )A. 0B. 1C. 2D. 427.以下程序的输出结果是(1) main(){ int k=11; printf("k=%d,k=%o,k=%x\n",k,k,k);}()A. k=11,k=12,k=11B. k=11,k=13,k=13C. k=11,k=013,k=0xbD. k=11,k=13,k=b(2) main(){ int k=17; printf("%d,%o,%x\n",k,k,k); }()A. 17,021,0x11B. 17,17,17C. 17,0x11,021D. 17,21,1128.运行时从键盘上输入9876543210<CR>(<CR>表示回车),则该程序的输出结果是()main(){ int a;float b,c;scanf("%2d%3f%4f\n",&a,&b,&c);printf("a=%d,b=%f,c=%f\n",a,b,c);}A. a=98,b=765,c=4321B. a=10,b=432,c=8765C. a=98,b=765.000000,c=4321.000000D. a=98,b=765.0,c=4321.029.设变量均已正确定义,若要通过scanf("%d%c%d%c",&a1,&c1,&a2,&c2);语句为变量a1和a2赋数值10和20,为变量c1和c2赋字符X和Y。

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语言试题及答案

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

C语言试题-1(含答案)

C语言试题-1(含答案)

C语言试题2019.03一、单项选择题(共30分,每题1分)1.在PC机中,‘\n’在内存占用的字节数是()A.1 B.2 C. 3 D.42.字符串“ABC”在内存占用的字节数是()A.3 B. 4 C.6 D.83.在C语言中,合法的长整型常数是()A.0L B.4962710 C.0.054838743 D.2.1869 e104.执行语句“x=(a=3,b=a--)”后,x,a,b的值依次是()A.3,3,2 B.3,2,2 C.3,2,3 D.2,3,25.设有语句int a=3;,则执行了语句a+=a-=a*a后,变量a的值是()A.3 B.0 C.9 D.-126.设int k=32767;执行k=k+1;后k值为()最大值与最小值首尾相连A.32768 B.-32768 C.0 D.-17.下列正确的标识符是()A.hot_do B.a+b C.test! D.%y8.设int a=5,使b不为2的表达式是()A.b=6-(--a) B.b=a%2 C.b=a/2 D.b=a>3?2:19.执行x=(6*7%8+9)/5;后,x的值为()A.1 B.2 C.3 D.410.执行语句x=(a=3,b=a--)后,x,a,b的值依次为()A.3,2,3 B.2,3,2 C.3,3,2 D.3,2,211.设a=-3;执行(a>0)?a:-a;后,a的值为()A.3 B.1 C.0 D.-312.设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值为()A.7 B.8 C.9 D.213.下面正确的字符常量是()A.”c” B.’\\’’ C.’W’ D. ‘’14.若有代数式3ae/bc,则不正确的c语言表达式是()A.a/b/c*e*3 B.3*a*e/b/c C.3*a*e/b*c D.a*e/c/c*315.在C语言中,要求运算数必须是整型的运算符是()书中55页A./ B.++ C.!= D.%16.若有说明语句:char c=’\72’;则变量c ( )A.包含1个字符 B.包含2个字符C.包含3个字符 D.说明不合法,c值不确定17.sizeof (float)是()返回值为4。

C语言题库(1-9)

C语言题库(1-9)

1、程序填空题目:请编写函数void fun (int x, int pp[ ], int *n),它的功能是求出能整除x 且不是偶数的各整数,并按从小到大的顺序放在pp所指的数组中,这些除数的个数通过形参n返回。

例如:若x中的值为30,则有4个数符合要求,它们是1,3,5,15。

#include <stdio.h>#include <conio.h>void fun(int x, int pp[], int *n){ int i,j=0;for( i=1;i<=x; i=i+2)if(x%i == 0)pp[j++]=i;*n=j;}void main(){ int x, aa[1000], n, i;printf("\nplease enter an integer number:\n");scanf("%d",&x);fun(x,aa,&n);for(i=0;i<n;i++)printf("%d ", aa[i]);printf("\n");}2、程序填空题目:请编写一个函数void fun(char *tt, int pp[ ]),统计在tt字符串中’a’到’z’26个字母各自出现的次数,并依次放在pp所指数组中。

例如:当输入abcdefgabcdeabc后,程序的输出结果应该是:3 3 3 2 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0#include<stdio.h>#include<conio.h>void fun(char *tt,int pp[]){ int i;for(i=0; i<26; i++)pp[i]=0;for( ; *tt; tt++)if(*tt<='z'&&*tt>='a')pp[*tt-97]++;}void main(){ char aa[1000];int bb[26],k;printf("\nPlease enter a char string:");scanf("%s",aa);fun(aa,bb);for(k=0; k<26; k++) printf("%d",bb[k]);printf("\n");}3、程序填空题目:请编写一函数void fun(int m, int k, int xx[ ]),该函数的功能是:将大于整数m且紧靠m的k个素数存入xx所指的数组中。

C语言复习题库(1)

C语言复习题库(1)

一、填空题(每空 1 分,共20 分)1.程序的三种基本结构为(顺序)、(选择)和(循环)。

2.在C 语言中,用(;)表示语句的结束。

3.语句printf("%%d%d",123);将输出:(“%d123 )。

4.逻辑运算的结果值是(0 )或( 1 )。

5.数组 int a[3][4];共定义了(12 )个数组元素。

6.在 C 语言中,正确的标识符是由(数字、字母、下划线)组成的,且由(字母和下划线)开头的。

7.一个算法应具有的特点有:(有穷性)、(确定性)、有零个或多个输入、有一个或多个输出、有效性。

8.在程序执行过程中,其值不发生改变的量称为(常量),其值可变的量称为(变量)。

9.若有定义:int m=5,y=2;则执行表达式y+=y-=m*=y 后的y 值是(-16 )。

10.在三种正规循环中,当条件表达式的值为(0 )时,就结束循环。

11.C 语言中函数的参数分为(形式参数)和(实际参数)。

12.当函数的数据类型省略时,默认的数据类型为(int 型或者整数型)型。

13.按变量地址访问变量的方法叫(直接访问),通过存放变量地址的变量去访问变量的方法叫(间接访问)。

14.若有定义:int [3][4]={{1,2},{0},{4,6,8,10}};则初始化后,a[1][2]得到的初值是(0 ),a[2][1]得到的初值是( 6 )。

15.文件包含的一般形式为(#include <文件名> )。

16.宏定义中宏名一般用大写字母表示,容易做到(一改全改)。

17.结构体是一种(构造)数据类型用途是把(不同类型)的数据组合成一个整体。

18.位运算的运算对象只能是(整型)或(字符型)数据,而不可以是其他类型的数据。

19.(文件)是存储在外部介质上数据的集合,是操作系统数据管理的单位。

20.设有“int x=2,y”说明,则逗号表达式“y=x+5,x+y”的值是(9 )。

c语言题库01

c语言题库01

试卷编号:8125所属语言:C语言试卷方案:2008-2009第2学期期末考试试卷总分:100分共有题型:5种一、判断共10题(共计20分)第1题(2.0分)题号:1268逻辑运算的三种运算符&&,||,!优先级相同答案:N第2题(2.0分)题号:9int i=20;switch(i/10){case 2:printf("A");case 1:printf("B");}的输出结果为A。

答案:N第3题(2.0分)题号:1224在C语言程序中, 同一个问题可以有多种实现算法.答案:Y第4题(2.0分)题号:28如果函数值的类型和return语句中表达式的值不一致,则以函数类型为准。

答案:Y第5题(2.0分)题号:1249语句"char s[]="example";"与"char s[7]="example";"都定义了长度是7的s 数组. 答案:N第6题(2.0分)题号:1285C语言将大写字母和小写字母认为两个不同的字符.答案:Y第7题(2.0分)题号:1239若有定义int arr[]={1,2,3,4};则说明arr数组的长度任意.答案:N第8题(2.0分)题号:1254指针也是有类型的,它的类型就是它所指向的实体的类型.答案:Y第9题(2.0分)题号:26int a[3][4]={{1},{5},{9}}; 它的作用是将数组各行第一列的元素赋初值,其余元素值为0。

答案:Y第10题(2.0分)题号:1112字符处理函数strcpy(str1,str2)的功能是把字符串1接到字符串2的后面. 答案:N二、单项选择共15题(共计30分)第1题(2.0分)题号:173C语言执行程序的开始执行点是()。

A:程序中第一条可以执行语言B:程序中第一个函数C:程序中的main函数D:包含文件中的第一个函数答案:C第2题(2.0分)题号:3144若x=2,y=3则x||y的结果是A:0B:1C:2D:3答案:B第3题(2.0分)题号:3094C语言中,逻辑"真"等价于A:大于零的数B:非零的数C:大于零的整数D:非零的整数答案:B第4题(2.0分)题号:3113设变量定义为"int a, b;",执行下列语句时,输入_____,则a和b的值都是10. scanf("a=%d, b=%d",&a, &b);A:10 10B:10, 10C:a=10 b=10D:a=10, b=10答案:D第5题(2.0分)题号:3165main(){int x=1,a=0,b=0;switch (x){ case 0: b++;case 1: a++;case 2: a++;b++;}printf("%d,%d",a,b);}该程序的输出结果是( )A:2,1B:1,1C:1,0D:2,2答案:A第6题(2.0分)题号:164关于多路分支语句switch,下面说法不正确的是( ).A:凡是能用switch语句实现的分支控制都可以用if语句实现B:switch语句中可以出现多个空的case子句C:switch语句不能嵌套D:一般情况下,当有多路分支时使用switch语句比使用if语句方便答案:C第7题(2.0分)题号:613下面有关 for 循环的正确描述是()。

C语言试题1

C语言试题1

模拟测试1.C语言的结构1.在C语言中,程序的基本单位是______,一个C源程序至少包含一个______,当然也可以包含一个______和许多个其他的______。

2.C语言具有层次清晰的特点,它用函数作为程序模块以实现程序的______,从而使得程序易于调试和维护,符合现代编程的风格,所以C语言是一种______语言。

阅读下面的程序,回答3、4题。

程序1-1:P1-1.c#include<math.h>#include<stdio.h>main(){double s;printf("Input a number:\n");scanf("%f",&s);s=sqrt(s);printf("%lf\n",s);}3.在上面的程序中,include称为______,而类似math.h的以.h为扩展名的文件称为______。

4.在程序1-1中,属于数据说明的语句是______,整个函数体包含在______之中。

5.与一般的编程语言相比较,C语言具有限制小,灵活性______,语法限制______,程序设计自由度大,可移植性______,并且能够______访问内存。

6.以下说法中正确的是()。

A)C语言程序总是从第一个函数开始执行B)在C语言程序中,要调用的函数必须在main()函数中定义C)C语言程序总是从main()函数开始执行D)C语言程序中的main()函数必须放在程序的开始部分2.数据类型及其运算1.C语言的数据类型可以分为基本类型、______类型、______类型和空类型。

其中基本类型又可以分为整型、______、______和枚举类型。

构造类型可以分为______类型和______类型。

2.在C语言中,合法的字符常量是()。

A)'\084' B)'\x43'C)'ab' D)"\0"3.在C语言中不但规定了运算符的优先级,并且规定了运算符的______,这也是其他高级语言所没有的,同时也增加了C语言的复杂性。

c语言题库(1)

c语言题库(1)

一、选择题1. C语言并不是非常严格的算法语言,在以下关于C语言的不严格的叙述中,错误的说法是_______。

A. 大写字母和小写字母的意义相同B. 有些不同类型的变量可以在一个表达式中运算C. 在赋值表达式中等号"="左边的变量和右边的值可以是不同类型D. 同一个运算符号在不同的场合可以有不同的含义【答案】A2. 一个完整的c语言程序包含一个或多个函数,对于函数main(),哪种说法是不正确的是______。

A. 它是程序开始运行的第一个被调用的函数B. 没有它程序就无法运行C. 它是唯一不可缺少的函数D. 有没有它都行【答案】D3. C语言程序中每一个语句和数据定义的最后必须有一个______。

A. 分号B. 逗号C. 空格D.冒号【答案】A4. 要把高级语言编写的源程序转换为目标程序,需要使用_______。

A. 编辑程序B. 驱动程序C. 诊断程序D. 编译程序【答案】D5. 一个C程序的执行是从________。

A. 本程序的main函数开始,到main函数结束B. 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C. 本程序的main函数开始,到本程序文件的最后一个函数结束D. 本程序文件的第一个函数开始,到本程序main函数结束【答案】A6. 结构化程序由三种基本结构组成,三种基本结构组成的算法______。

A. 可以完成任何复杂的任务B. 用C只能完成部分复杂的任务C. 用C只能完成符合结构化的任务D. 用C只能完成一些简单的任务【答案】A7. 以下叙述中正确的是_____。

A. C程序中的注释只能出现在程序的开始位置和语句的后面B. C程序书写格式严格,要求一行内只能写一个语句C. C程序书写格式自由,一个语句可以写在多行上D. 用C语言编写的程序只能放在一个程序文件中【答案】C8. 以下叙述中正确的是_____。

A. C程序的基本组成单位是语句B. C程序的每一行只能写一条语句C. 简单C语句必须以分号结束D. C语句必须在一行内写完【答案】C9. C语言源程序名的后缀是_____。

C语言测试题及答案(1)(1)

C语言测试题及答案(1)(1)

一.选择题1.int i=10;float x; 执行x=5/i; 后x的值为 __C______。

A.0.5 B.0 C.0.0 D.1.02. 以下标识符中,哪一个是C语言的合法标识符 CA) 2abcd B)int C)a-2c D)_char E)#456xy3. 以下 C 是不正确的转义字符:A) '\n' B)’\’’C)'061' D)'\0'4.执行下面的程序后# include<stdio.h># define SQR(X) (X) * (X)void main (){ int a=10,K=2,m=1;a /= SQR(K+m) / SQR(K+m);printf(”a=%d”,a);}输出结果是a=__B_____。

A.10 B.1 C.9 D.05. 现有定义char str1[]="China",str2[5]={'C','h','i','l','e'};则有AA)strcmp(str1,str2)>0B)strcmp(str1,str2)<0C)strlen(str1)=6D)str1与str2所占存储空间大小一样6.有以下的结构体变量定义语句:struct student { int num; char name[9]; } stu;则下列叙述中错误的是B 。

A.结构体类型名为student B.结构体类型名为stuC.num是结构体成员名 D.struct是C的关键字7. 执行以下程序:# include<stdio.h>void main (void){char c=0;printf(“%c\n”,c);}输出结果是 _D_______。

A.‘\0’ B.语法错,不能执行 C.0 D.一个空行8.C语言对嵌套 if 语句的规定是: else 总是和 D 配对A)其之前最近的 if B) 缩进位置相同的 ifC)第一个 if D) 其之前最近且不带 else 的 if9.设有定义语句enum aa{add,sub,mul,div}opera;,以下对枚举变量opera的操作中,不正确的是 BA. opera=(enum aa)2B. scanf(“%d”,&opera)C. opera=add+1D. if(opera==sub)print(”OK”);10. 下列宏定义命令中,哪一个格式是正确的___D_____A.#define pi=3.14159;B. define pi=3.14159C. #define pi="3.14159"D. #define pi (3.14159)11.以下不正确的描述是 AA)在 switch 语句中使用 break 语句或continue语句的作用相同B)在循环语句中使用 continue 语句是为了结束本次循环,而不是终止整个循环C)break 语句不能用于循环语句和 switch 语句之外的任何其他语句D)在循环语句中使用 break 语句是为了使流程跳出循环体,提前结束循环12.定义int x=3,执行while(x){printf(“%d”,x);x--;}语句后,x的值为:A 。

C语言题库1

C语言题库1

main() { int i,num=0; for(i=100;i < =500;i++) { if((i%3==2)&&(i%5==3)) num=num+1; } printf("\n%d",num); } 本题答案:20 2、编写程序,求在 10~1000 之间所有能被 4 除余 2,被 7 除余 3, 被 9 除余 5 的数之和。(10 分) 参考答案: main() { long s=0; int m; for(m=10;m<=1000;m++) { if(m%4==2&&m%7==3&&m%9==5) s=s+m; }
A.a < > 0 B.!a C.a=0 D.a!=0 参考答案: D @18、若 K 为整型,以下 while 循环执行( )次 K=0; while (K=0) K=K-1; (2 分) A.执行 10 次 B.无限循环 C.一次也不执行 D.执行一次 参考答案: C @19、以下程序的输出结果是() void main() {int y=5; whlie(y--) ; printf("y=%d\n",y); } (2 分) A.y=0 B.y=1 C.y=-1 D.无限循环
D.2a, DO, sizeof 参考答案: B 38、以下叙述中错误的是(2 分) A.用户所定义的标识符允许使用关键字 B.用户所定义的标识符应尽量做到"见名识意" C.用户所定义的标识符中,大、小写字母代表不同标识 D.用户所定义的标识符必须以字母或下划线开头 参考答案: A 40、有如下程序段 int *p,a=10,b=1 p=&a; a=*p+b; 执行该程序段后,a 的值为 (2 分) A.12 B.11 C.10 D.编译出错 参考答案: B 程序设计题(以下 3 题中任选 2 题作答,每题 10 分,共 20 分): 1、编程序求出 100 到 500 之间同时满足除 3 余 2 和除 5 余 3 条件的 数的个数。(10 分) 参考答案:

(完整版)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语言题库 (1)

C语言题库 (1)

一.选择题(单项)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语言题库1

C语言题库1

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

c语言上机题库 (1)

c语言上机题库 (1)

1、给定n个数据, 求最小值出现的位置(如果最小值出现多次,求出第一次出现的位置即可)。

2、编写程序求无理数e的值并输出。

计算公式为:e=1+1/1!+1/2!+1/3!+......+1/n!当1/n!<0.000001时e=2.718282。

3、求一批数中最大值和最小值的积。

4、某一正数的值保留2位小数,对第三位进行四舍五入。

5、从键盘上输入任意实数x,求出其所对应的函数值。

z=(x-4)的二次幂(x>4)z=x的八次幂(x>-4)z=z=4/(x*(x+1))(x>-10)z=|x|+20(其他)6、求出N×M整型数组的最大元素及其所在的行坐标及列坐标(如果最大元素不唯一,选择位置在最前面的一个)。

例如:输入的数组为:1 2 34 15 612 18 910 11 2求出的最大数为18,行坐标为2,列坐标为1。

7、求一个n位自然数的各位数字的积。

(n 是小于10的自然数)8、计算n门课程的平均值,计算结果作为函数值返回。

例如:若有5门课程的成绩是:92,76,69,58,88,则函数的值为76.599998。

9、求一批数中小于平均值的数的个数。

10、编写函数判断一个整数m的各位数字之和能否被7整除,可以被7整除则返回1,否则返回0。

调用该函数找出100~200之间满足条件的所有数。

11、请编一个函数void fun(int tt[M][N],int pp[N]),tt指向一个M行N列的二维数组,求出二维数组每列中最大元素,并依次放入pp所指一维数组中。

二维数组中的数已在主函数中赋予。

12、编写函数fun用比较法对主程序中用户输入的具有10个数据的数组a按由大到小排序,并在主程序中输出排序结果。

13、编写main程序调用函数fact求解从m个元素选n 个元素的组合数的个数。

计算公式是:组合数=m!/(n!.(m-n)!)。

要求:m不能小于n,否则应有容错处理。

C语言考试复习专用三套题附答案(1)

C语言考试复习专用三套题附答案(1)

《C语言程序设计》习题集习题一一、语言基础(共20分,每题2分)(二)说明语句char s=‘\t’,使s包含了几个字符?。

A)1 B)2 C)3 D)说明有错(三)设a=6,b=4,则表达式b*=a+3A)3 B)18 C)(四)若给定表达式(m)?a++:a--和等价。

A)m==0 B)m!=0 C)m=0 D)m=1(五)设有说明语句int a[10],则数组a包括了个数组元素。

A)1 B)9 C)10 D)20(六)以下函数test返回值类型为。

test(int x){ printf(“%f\n”,(float)x);}A)int B)float C)void D)不确定或错误二、阅读下列程序,写出运行结果(共18分,每题3分)[程序1]#include <stdio.h>void main( ){ int a=1,b=4,c=2; 运行结果: 1a=(a+b)/c;printf(“%d \n”,--a);}[程序2]void main ( ){ char c1=67; /*‘A’的ASCII码值为65 */if (‘A’ <=c1 && c1<=’Z’) 运行结果: 67,Dprintf(“%d,%c”,c1,c1+1);else printf(“%c”,c1); }[程序3]viod main ( ){ int a=0, n=5; 运行结果: 1,5,4,3,2,0for ( ; ; ){ a++; n--;printf(“%d,”,a);a=n;if (n==0) break;}printf(“%d”,a);}[程序4]main ( ){ int i, j; 运行结果: 1,2,4,8,16,32,64,128,256,512 static int a[10]={1,1,1,1,1,1,1,1,1,1};for (i=0;i<10;i++)for (j=0;j<i;j++)a[i]=a[i]+a[j];for (i=0;i<10;i++)printf(“%d,”,a[i]);}[程序5]int k=2;f (int m) 运行结果: 6,8{ m+=k;k+=m; 5,9printf(“%d,%d \n”,m,k++);}main ( ){ int i=4;for (i++);printf(“%d,%d \n”,i,k); }[程序6]void main ( ){ static int a[10],i; 运行结果: 1 3 5 7 9for (i=0;i<10;i++)a[i]=i+1;for (i=0;i<10;i=i+2)printf(“%d”,*(a+i));}三、阅读分析下列程序,在处填上适当的内容使程序(或函数)完整(共21分,每空3分)(一)以下程序输出所有大写字母和其对应的ASCII码值。

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

C语言期末考试试题及答案免费下载一、单项选择题1.(D)是合法的用户自定义标识符。

A、 b-bB、floatC、<fr>D、 _isw2.若变量已正确定义并赋值,表达式(B)不符合C语言语法。

A、a*b/c;B、3.14%2C、2, bD、a/b/c3.(C)是不正确的字符常量。

A、'n'B、'1'C、"a"D、'101'4.在 C 程序中,用(B)表示逻辑值“真”。

A、1B、非 0 的数C、非 1 的数D、大于 0 的数5.(C)把x、y定义成float类型变量,并赋同一初值3.14。

A、float x, y=3.14;B、float x, y=2*3.14;C、float x=3.14, y=x=3.14;D、float x=y=3.14;6.若变量已正确定义,表达式(C)的值不是2。

A、2&3B、1<<1C、a==2D、1^37.若变量已正确定义,语句“if(a>b) k=0; else k=1;”和(C)等价。

A、k=(a>b)?1:0;B、k=a>b;C、k=a<=b;D、a<=b ? 0 : 1;8.设变量定义为“int a, b;”,执行下列语句时,输入(D),则a和b的值都是10。

scanf("a=%d, b=%d",&a, &b);A、10 10B、10, 10C、a=10 b=10D、a=10, b=109.下列程序的输出结果是(D)。

fun(int a, int b, int c){ c =a*b; }void main( ){ int c;fun(2,3,c);printf(”%dn”,c);}A、0B、1C、6D、无法确定10.在C程序中,若对函数类型未加说明,则函数的隐含类型为(A)。

A、intB、doubleC、voidD、char11.表达式 strlen(”hello”) 的值是(B)。

A、4B、5C、6D、712.设变量定义为“int a[4];”,则表达式(D)不符合C语言语法。

A、*aB、a[0]C、aD、a++13.设变量定义为“int x, *p=&x;”,则&*p相当于(A)。

A、pB、*pC、xD、*&x14.若变量已正确定义,(A)不能使指针p成为空指针。

A、p=EOFB、p=0C、p=’’D、p=NULL15.对于以下的变量定义,表达式(D)不符合C语言语法。

struct node {int len;char *pk;} x = {2, "right"}, *p = &x;A、p->pkB、*p.pkC、*p->pkD、*x.pk16. 有如下程序,该程序的输出的结果是 (D)int runc(int a,int b){ return(a+b);}main0{ int x=2,y=5,z=8,r;r=func(func(x,y),z);printf(“%\d\n”,r);}A) 12 B) 13 C) 14 D) 1517. 对于基类型相同的两个指针变量之间,不能进行的运算是 (C)A、) <B、) =C、) +D、) -18. 有如下程序,该程序的输出结果是 (B)long fib(int n){ if(n>2) return(fib(n-1)+fib(n-2));else return(2);}main0{ printf(“%d\n”,fib(3));A} 2 B} 4 C} 6 D} 819. 有如下定义,根据上述定义,能输出字母M的语句是 (D)A) prinft(“%c\n”,class[3].mane); B) pfintf(“%c\n”,class[3].name[1]);C) prinft(“%c\n”,class[2].name[1]); D) printf(“%^c\n”,class[2].name[0]);20. 以下所列的C语言常量中,错误的是 (B)A) 0xFF B) 1.2e0.5 C) 2L D) ‘\72’21. 有以下程序段int k=0while(k=1)k++;while 循环执行的次数是 (A)A) 无限次 B) 有语法错,不能执行C) 一次也不执行 D) 执行1次22. 以下程序的输出结果是 (C)fun(int x, int y, int z){ z=x*x+y*y; }main(){ int a=31;fun(5,2,a);printf(“%d”,a);}A) 0 B) 29 C) 31 D) 无定值23. 下列程序段的输出结果是 (A)void fun(int *x, int *y){ printf(“%d %d”, *x, *y); *x=3; *y=4;}main(){ int x=1,y=2;fun(&y,&x);printf(“%d %d”,x, y);}A) 2 1 4 3 B) 1 2 1 2 C) 1 2 3 4 D) 2 1 1 224. 当调用函数时,实参是一个数组名,则向函数传送的是 (B)A) 数组的长度 B) 数组的首地址 C) 数组每一个元素的地址 D) 数组每个元素中的值25. 以下程序的输出结果是 (A)long fun( int n){ long s;if(n= =1 || n= =2) s=2;else s=n-fun(n-1);return s;}main(){ printf(“%ld\n”, fun(3)); }A) 1 B) 2 C) 3 D) 426. 以下程序的输出结果是 (B)#define SQR(X) X*Xmain(){ int a=16, k=2, m=1;a/=SQR(k+m)/SQR(k+m);printf(“d\n”,a);}A) 16 B) 2 C) 9 D) 127. 以下函数返回a所指数组中最小的值所在的下标值,在下划线处应填入的是 (D)fun(int *a, int n){ int i,j=0,p;p=j;for(i=j;i<N;I++)if(a[i]<A[P])__________;return(p);}A、) i=p B) a[p]=a[i] C) p=j D) p=iC语言程序设计试题及答案(二)1. 用C语言编写的代码程序( B )A)可立即执行B)是一个源程序C)经过编译即可执行D)经过编译解释才能执行2. C语言中用于结构化程序设计的三种基本结构是( A )A)顺序结构、选择结构、循环结构B)if、switch、break C)for、while、do-while D)if、for、continue3. 以下定义语句中正确的是( C )A)char a='A'b='B'; B float a=b=10.0;C)int a=10,*b=&a;D)float *a,b=&a;4.下列选项中,不能用作标识符的是( D )A)_1234_ B)_1_2 C) int_2_ D)2_int_5.在函数调用过程中,如果函数funA调用了函数funB,函数funB又调用了函数funA,则( B )A)称为函数的直接递归调用B)称为函数的间接递归调用C)称为函数的循环调用D)C语言中不允许这样的递归调用6.以下叙述中正确的是( A )A)局部变量说明为static存储类,其生存期将得到延长B)全局变量说明为static存储类,其作用域将被扩大C)任何存储类的变量在未赋初值时,其值都是不确定的D)形参可以使用的存储类说明符与局部变量完全相同7.若变量已正确定义,要求程序段完成求5!的计算,不能完成此操作的程序段是( B)A)for(i=1,p=1;i<=5;i++) p*=i;B)for(i=1;i<=5;i++){ p=1; p*=i;}C)i=1;p=1;while(i<=5){p*=i; i++;}D)i=1;p=1;do{p*=i; i++; }while(i<=5);8.有以下程序(a)main(){ char a='a',b;printf("%c,",++a);printf("%c\n",b=a++);}程序运行后的输出结果是a)b,b B)b,c C)a,b D)a ,c9.有以下函数定义:(c)void fun(int n, double x) { ……}若以下选项中的变量都已正确定义并赋值,则对函数fun的正确调用语句是A)fun(int y,double m); B)k=fun(10,12.5) C)fun(x,n);D)void fun(n,x)10.已定义c为字符型变量,则下列语句中正确的是(c)A)c='97'; B)c="97"; C)c=97; D)c="a";11.以下能正确定义一维数组的选项是(a)A)int num[]; B)#define N 100C)int num[0..100]; D)int N=100;int num[N]; int num[N ];12.以下能正确定义数组并正确赋初值的语句是(d)A)int N=5,b[N][N]; B)int a[1][2]={{1},{3}};C)int c[2][]= {{1,2},{3,4}}; D)int d[3][2]={{1,2},{34}};13.有以下程序(a)main(){ int i;for (i=0; i<3; i++)switch (i){ case 1: printf("%d ", i);case 2: printf("%d ", i);default : printf("%d ", i); }}执行后输出结果是A)011122 B)012 C)012020 D)12014.有以下程序(d)main(){ int p[7]={11,13,14,15,16,17,18}, i=0,k=0;while(i<7 && p[i]%2) { k =k+ p[i]; i++; }printf("%d\n", k);}执行后输出结果是A)58 B)56 C)45 D)2415.以下叙述中正确的是(c)A)C语言比其他语言高级B)C语言可以不用编译就能被计算机识别执行C)C语言以接近英语国家的自然语言和数学语言作为语言的表达形式D)C语言出现的最晚,具有其他语言的一切优点16.下列叙述中正确的是(d)A)C语言中既有逻辑类型也有集合类型B)C语言中没有逻辑类型但有集合类型C)C语言中有逻辑类型但没有集合类型D)C语言中既没有逻辑类型也没有集合类型17.以下叙述中正确的是(a)A)C程序中注释部分可以出现在程序中任意合适的地方B)花括号"{"和"}"只能作为函数体的定界符C)构成C程序的基本单位是函数,所有函数名都可以由用户命名D)分号是C语句之间的分隔符,不是语句的一部分二、填空题1.以下程序输入3个整数值给a,b,c,变量b中的值给a,变量c中的值给b,变量a 中的值给c,交换后输出a,b,c的值。

相关文档
最新文档