C语言考试习题及答案
c语言习题(带答案)
一、选择1若有表达式(a)(--x):(++y),则其中与a等价的表达式是A)a==1B)a==0C)a!=1D)a!=02有以下程序段intx,y,z;x=10;y=50;z=30;if(x>y)x=y,y=z;z=x;printf(“x=%dy=%dz=%d\n”,x,y,z);程序的输出结果是A)x=10y=50z=10B)x=10y=50z=30C)x=10y=30z=10D)x=50y=30z=503下面的函数调用语句中func函数的实参个数是f(f2(u1,u2),(u3,u4),(u6,max(u7,u8)));A)3B)4C)5D)84 以下叙述中错误的是A)用户定义的函数中可以没有return语句B)用户定义的函数中可以有多个return语句,以便可以调用一次返回多个函数值C)用户定义的函数中若没有return语句,则应当定义函数为void类型D)函数的return语句中可以没有表达6有以下程序#include<>voidfun(inta,intb){intt;t=a;a=b;b=t;}main(){intc[10]={11,12,13,14,15,16,17,18,19,20},i;for(i=0;i<10;i+=2)fun(c[i],c[i+1]);for(i=0;i<10;i++)printf("%d,",c[i]);printf("\n");}程序的运行结果是A)11,12,13,14,15,16,17,18,19,20B)12,11,14,13,16,15,18,17,20,19C)20,19,18,17,16,15,14,13,12,11D)20,11,12,13,14,15,16,17,18,198有以下程序main(){ int a=7,b=8,*p,*q,*r;p=&a;q=&b;r=p; p=q;q=r;printf("%d,%d,%d,%d\n",*p,"q,a,b);}程序运行后的输出结果是A)8,7,8,7 B)7,8,7,8 C)8,7,7,8 D)7,8,8,79 .s1和s2已正确定义并分别指向两个字符串。
c语言题目及答案
考试题型一、单项选择题(30分)二、填空题(20分)三、阅读程序写结果(20分)四、编程序题(30)复习题一一、选择题1.下列说法中正确的是。
A.C语言程序由主函数和0个或多个函数组成B.C语言程序由主程序和子程序组成C.C语言程序由子程序组成D.C语言程序由过程组成2.执行语句“x=(a=3,b=a--)”后,x,a,b的值依次为。
A.3,3,2 B.3,2,2 C.3,2,3 D.2,3,23.设有int i=010,j=10;则printf("%d,%d\n",++i,j--); 的输出的是。
A.11,10 B.9,10 C.010,9 D.10,9 4.设a、b为字符型变量,执行scanf("a=%c,b=%c",&a,&b); 后使a为'A', b为'B',从键盘上的正确输入是。
A.'A' 'B' B.'A','B' C.A=A,B=B D.a=A,b=B5.已知int x=12, y=3;执行下述程序后,变量x的值是____。
do{ x/=y--;}while(x>y);A.1 B.2 C.3 D.程序运行有错误6.C语言中while和do-while循环的主要区别是。
A.do-while的循环体至少无条件执行一次B.while的循环控制条件比do-while的循环控制条件严格C.do-while允许从外部转到循环体内D.do-while的循环体不能是复合语句7.设x和y均为int型变量,则执行下面的循环后,y的值为。
for (y=1,x=1;y<=50;y++) {if (x>=10 ) break;if (x%2==1) {x+=5;continue;}x - =3;}A.2 B.4 C.6 D.88.以下正确的说法是____。
c语言基础练习题及答案
c 语言基础练习题及答案一、单项选择题1. C语言源程序文件经过C编译程序编译连接之后生成一个后缀为_c_A 、”.c” B、“ .obj ” C、“ .exe” D 、“ .bas”2. 以下选项中不正确的整型常量是_c ______ 。
A、12L B 、-10 c、1,900 D、123U3. 表达式___c___ 的值是0。
A、3%5B、3/5.0 c、3/5 D、3<54. 表达式!(x>0||y>0) 等价于__D___ 。
A 、!x>0||!y>0B 、!(x>0)||!(y>0) c 、!x>0&&!y>0 D 、!(x>0)&&!(y>0)5. 若变量已正确定义并赋值,表达式__D ____ 不符合c 语言语法。
A、4&&3 B 、+a c、a=b=5 D 、int(3. 1 4)6. 若变量已正确定义,执行语句scanf(%d%d%d ,&k1,&k2,&k3) ;时,___BA 、2030,40 B、20 30 40 c、20, 30 40 D 、20, 30,407. 执行语句printf( ” __D ____ ” , 2); 将得到出错信息。
A、%dB、%o c、%x D 、%f8. 设变量定义为"int s[ ]=hello\nworld\n; ”则数组s中有—B __________ 个元素。
A、12B、13 c、14 D、159. 设变量定义为“ int a[2]={1,3}, *p=&a[0]+1; ” 则*p 的值是___B_。
A、2B、3 c、4 D、&a[0]+110. 若变量已正确定义并赋值,表达式-k++ 等价于__A________ 。
A、-(k++) B 、(-k)++ c、-(k+1) D、-(++k)11. 在c 语言程序中,在函数内部定义的变量称为__D ____ 。
C语言练习题(带详解答案)
一单项选择题【1】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语言》练习题及答案解析一.选择题1.下列字符序列中,不可用作C语言标识符的是(B)。
A.abc123 B.no.1 C._123_ D._ok2.一个C语言源程序是由(B)。
A.一个主程序和若干子程序组成B.一个或多个函数组成C.若干过程组成D.若干子程序组成3. 正确的C语言标识符是(A )。
A._buy_2 B.2_buy C.?_buy D.buy?4.已知字母A的ASCII码为十进制数65,且S为字符型,则执行语句S=’A’+’6’-’3’;后,S中的值为(A)。
A.’D’B.68 C.不确定的值D.’C’5.下列说法中,错误的是(A)。
A.每个语句必须独占一行,语句的最后可以是一个分号,也可以是一个回车换行符号B.每个函数都有一个函数头和一个函数体,主函数也不例外C.主函数只能调用用户函数或系统函数,用户函数可以相互调用D.程序是由若干个函数组成的,但是必须有且仅有一个主函数6.有如下程序段,从键盘输入数据的正确形式应是(B)。
(注:└┘代表空格)float x,y,z;scanf(“x=%d,y=%d,z=%d”,&a,&y,&z);A.123 B.x=1,y=2,z=3C.1,2,3 D.x=1└┘ y=2└┘ z=37.在C语言中,char型数据在内存中的存储形式是(D)。
A.补码B.反码C.原码D.ASCII码8. 下列符号中,不属于转义字符的是(B )。
A.\\ B.\0xAA C.\t D.\09. 不属于C语言关键字的是(D)。
A.int B.break C.while D.character10. 以下说法中正确的是(C)。
A.C语言程序总是从第一个定义的函数开始执行B.在C语言程序中,要调用的函数必须在main( )函数中定义C.C语言程序总是从main( )函数开始执行D.C语言程序中的main( )函数必须放在程序的开始部分11. C语言程序的基本单位是(C)。
C语言练习题(带详解答案)
1、编程题1.输入2个整数,求两数的平方和并输出。
#include <stdio.h>int main(void){ intt a ,b,s;printf("please input a,b:\n");scanf("%d%d”,&a,&b);s=a*a+b*b;printf("the result is %d\n",s);return 0;}2. 输入一个圆半径r,当r>=0时,计算并输出圆的面积和周长,否则,输出提示信息。
#include <stdio.h>#define PI 3.14int main(void){ double r ,area , girth;printf("please input r:\n");scanf("%lf",&r);if (r>=0){ area =PI*r*r;girth =2*PI*r ;printf("the area is %.2f\n", area);printf("the girth is %.2f\n", girth);}elseprintf("Input error!\n");return 0;}3、已知函数y=f(x),编程实现输入一个x值,输出y值。
2x+1 (x<0)y= 0 (x=0)2x-1 (x>0)#include <stdio.h>void main(){ int x,y;scanf(“%d”,&x);if(x<0) y=2*x+1;else if(x>0) y=2*x-1;else y=0;printf(“%d”,y);}4.从键盘上输入一个百分制成绩score,按下列原则输出其等级:score≥90,等级为A;80≤score<90,等级为B;70≤score<80,等级为C;60≤score<70,等级为D;score<60,等级为E。
计算机c语言习题(含答案)
1. 有如下程序main(){ int n[5]={0,0,0},i,k=2;for(i=0;i < k;i++) n[i]=n[i]+1;printf("%d\n",n[k]);}该程序的输出结果是 DA、不确定的值B、2C、1D、02. 执行下面的程序后,a的值为__B___main(){ int a,b;for (a=1,b=1;a < 100;a++){if (b > =20) break;if (b%3==1){ b+=3; continue; }b-=5;}}A、7B、8C、9D、103. 下述程序的输出结果是( B )。
#includemain(){int k=0,m=0;int i,j;for(i_O;i<2;i++){for(j:0;j<3;j++)k++:k一=j;}m=i+j;printf(”k=%d,m=%d”,k,m);}A、k=0,m=3B、k=O,m=5C、D)k=l,m=3D、D)k=l,m=54. 以下程序段____C__x=-1;do{x=x*x;}while(!x);A、是死循环B、循环执行二次C、循环执行一次D、有语法错误5. 有如下程序 Bmain(){ int n=9;while(n > 6) {n--;printf("%d",n);}}该程序段的输出结果是A、987B、876C、8765D、98766. 有以下程序main(){ int i, j;for(j=10;j < 11;j++){ for(i=9;i < j; i++)if (!(j%i))break;if(i=j-1)printf("%d",j);}}输出结果是 BA、11B、10C、9D、10 117. 以下程序的输出结果是 Amain( ){ int i;for(i=1;i < 6;i++){ if(i%2){printf("#");continue;}printf("*");}printf("\n");A、#*#*#B、#####C、*****D、*#*#*8. 以下叙述正确的是( D )A、do-while语句构成的循环不能用其它语句构成的循环来代替B、do-while语句构成的循环只能用break语句退出C、用do-while语句构成的循环,在while后的表达式为非零时结束循环。
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语言期末考试练习题1(含答案)
一、单项选择题(6小题,每小题3分,共18分)1、在一个C源程序文件中,若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使用的存储类别是A、externB、registerC、autoD、static2、下面4个选项中,是合法转义字符的选项是( )。
A、'\"B、'\'C、'\018'D、'\\0''\\' '\017' '\f' '\101''\n' '\''' 'xab' 'x1f'3、下面4个选项中,是正确的八进制数或十六进制数的选项是( )。
A、–10B、0abcC、0010D、0a120x8f –017 –0x11 ––011 0xc 0xf1 –0xa4、以下在任何情况下计算平方数时都不会引起二义性的宏定义是( )A、# define POWER(x) □□x * xB、# define POWER(x) □□(x) * (x)C、# define POWER(x) □□(x * x)D、# define POWER(x) □□((x) * (x))5、以下程序段( )x= –1;do{ x=x*x;} while (!x);A、是死循环B、循环执行二次C、循环执行一次D、有语法错误6、下面程序的运行结果是( )# include <stdio.h>int main( ){ int i,j,x=0;for (i=0;i<2;i++){ x++;for(j=0;j<=3;j++){ if (j%2) continue;x++;}x++;}printf ("x= %d \n",x);return 0;}A、x=4B、x=8C、x=6D、x=12二、填空题(7小题,每小题3分,共22分)1、下面程序段的运行结果是( )。
C语言(数组)习题与答案
一、单选题1、下列描述中不正确的是()A.字符串的结束符是'\0'。
B.可以对字符型数组进行整体输入、输出。
C.字符型数组中能存放字符串。
D.字符串函数声明在ctype.h中。
正确答案:D2、下面是有关C语言字符数组的描述,其中错误的是()A.不可以用赋值语句给字符数组名赋字符串B.可以用输入语句把字符串整体输入给字符数组C.字符数组只能存放字符串D.字符数组中的内容不一定是字符串正确答案:C3、下面是对数组s的初始化操作,其中不正确的是()A.char s[5]= " ";B.char s[5]={'a'};C.char s[5]={"a"};D.char s[5]= "abcdef";正确答案:D4、下面叙述正确的是()A.字符串"123 "与"123"相等。
B.字符串"123"小于字符串"2"。
C.两个字符串所包含的字符个数不相同时,才能进行大小比较。
D.字符个数多的字符串比字符个数少的字符串大。
正确答案:B5、下面程序段的输出结果是()char a[7]=“123456”;char b[4]=”ABC”;strcpy(a,b);printf(“%c”,a[5]);A.\0B.C.5D.6正确答案:D6、以下对二维数组a的正确说明是__。
A.double a[1][4];B.float a(3)(4);C. floatf a(3,4);D. int a[3][];正确答案:A7、以下能对二维数组a进行正确初始化的语句是__。
A. int a[][3]={{1,2,3},{4,5,6}};B.int a[2][]={{1,0,1},{5,2,3}};C.int a [2][4]={{1,2,3},{4,5},{6}};D. int a[][3={{1,0,1},{},{1,1}};正确答案:A8、若有说明: int a[3][4]={0};则下面正确的叙述是__。
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语⾔期末考试试题及详细答案选择练习题1、C 语⾔中最简单的数据类型包括( B )。
A 、整型,实型,逻辑型B 、整型,实型,字符型C 、整型,字符型,逻辑型D 、整型,实型,逻辑型,字符型2、C 语⾔中,运算对象必须是整型数的运算符是(A )。
A 、%B 、/C 、%和/D 、*3、为表⽰关系x <y <z ,应使⽤C 语⾔表达式( A )。
A 、(x <y)&&(y <z ) B 、(x <y)AND (y <z) C 、(x <y <z) D 、(x <y) &(y <z)4、C 语⾔程序的基本单位是( C )。
A 、程序⾏B 、语句C 、函数D 、字符 5、C 语⾔的程序⼀⾏写不下时,可以( D )。
A 、⽤逗号换⾏ B 、⽤分号换⾏ C 、⽤回车符换⾏ D 、在任意⼀空格处换⾏ 6、下述标识符中,( C )是合法的⽤户标识符。
A 、A&B B 、voidC 、_studentD 、7、在C 语⾔中,字符型数据在内存中以( BA 、补码B 、ASCII 码C 、反码D 、原码8、⼀个程序由若⼲⽂件组成,共⽤同⼀变量,则此变量的存储类别应该为( B )。
A 、auto B 、extern C 、static D 、RegisterB 、在switch 语句中,可以根据需要使⽤或不使⽤break 语句C 、break 语句只能⽤于switch 语句中D 、break 语句是switch 语句的⼀部分10、C 语⾔规定:调⽤⼀个函数时,实参变量和形参变量之间的数据传递是(B )。
A 、地址传递 B 、值传递C 、由实参传给形参,并由形参传回给实参D 、由⽤户指定传递⽅式 11、下述C 语⾔转义符中( D )是⾮法的。
A 、'\b' B 、'\037' C 、'\0xf ' D 、'\''12、为了要计算s=10!(10的阶乘),则以下对s 的定义正确的是( D )。
C语言习题带答案
基本语句练习1、若有以下程序段 D#include”stdio.h”void main( ){ int a=2,b=5;Printf(“a=%%d,b=%%d\n”,a,b);}其输出结果是()A、a=%2,b=%5B、a=2,b=5C、a=%%d,b=%%dD、a=%d,b=%d2、以下程序段 Cfloat a=3.1415; printf(“|%6.0f|\n”,a);其输出结果是()A、|3.1415|B、|3.0|C、| 3|D、|3.|3、以下程序段的输出结果是() Cfloat a=57.666; printf(“*%010.2f*\n”,a);A、*0000057.66*B、*57.66*C、*0000057.67*D、*57.57*4、下面语句printf(“|%8.5f|\n”,3461.45); 的输出结果是() CA、|61.45000|B、|3461.450|C、|3461.45000|D、|3461.4500|5、若变量都已经正确说明,则以下程序段: Ca=2; b=3; printf(a>b? ”***a=%d”: “###b=%d”,a,b);A、没有正确的输出格式控制B、输出为:***a=2C、输出为:###b=2D、输出为:***a=2###b=36、执行下列程序时输入1234567,程序的运行结果为() B#include”stdio.h”void main( ){int x, y;scanf(“%2d%2ld”,&x,&y);printf(“%d\n”, x+y);}A、17B、46C、15D、97、已知char a; int b; float c; double d; 则表达式a*b+c-d结果为()型。
AA、doubleB、intC、floatD、char8、根据定义和数据的输入方式,输入语句的正确形式是() B已有定义float f1, f2;数据的输入方式:4.523.5A、scanf(“%f,%f”,&f1,&f2);B、scanf(“%f%f”,&f1,&f2);C、scanf(“%3.2f%2.1f”,&f1,&f2);D、scanf(“%3.2f, %2.1f”,&f1,&f2);9、以下程序的输出结果为()*3.140000, 3.142*#include”stdio.h”void main( ){printf( “ *%f, %4.3f*\n”, 3.14, 3.1415);} 10、结构化程序流程图中一般包含3种基本结构,在下述结构中不属于其基本结构的是()。
(完整版)C语言单项选择题(带答案)
计算机程序设计基础(C语言)单项选择练习题一、基本概念1. C语言程序是由构成的。
A)一些可执行语言 B)main函数C)函数 D)包含文件中的第一个函数2. 是构成C语言程序的基本单位。
A)函数 B)过程 C)子程序 D)子例程3.C语言可执行程序从开始执行。
A) 程序中第一条可执行语句 B) 程序中第一个函数C) 程序中的main函数 D) 包含文件中的第一个函数4.C语言程序从main()函数开始执行,所以这个函数要写在____。
A) 程序文件的开始 B) 程序文件的最后C) 它所调用的函数的前面 D) 程序文件的任何位置5. 以下说法中正确的是。
A)C语言程序总是从第一个定义的函数开始执行B)在C语言程序中,要调用的函数必须在main( )函数中定义C)C语言程序总是从main( )函数开始执行D)C语言程序中的main( )函数必须放在程序的开始部分6. 下列方法中错误的是。
A)主函数可以分为两个部分:主函数说明部分和主函数体。
B)主函数可以调用任何非主函数的其它函数。
C)任何非主函数可以调用其它任何非主函数。
D)程序可以从任何非主函数开始执行。
7.下列关于C语言的说法错误的是。
A) C程序的工作过程是编辑、编译、连接、运行B) 标识符的命名由英文字母、数字和下划线组成,与字母的大小写无关C) C程序的三种基本结构是顺序、选择、循环D) 一个C程序总是从main函数开始执行的8. 系统默认的C语言源程序扩展名为.C,需经过之后,生成.exe文件,才能运行。A) 编辑、编译 B )编辑、连接 C) 编译、连接 D) 编辑、改错9.下列说法中正确的是。
A)由于C源程序是高级语言程序,因此一定要在TC软件中输入。
B)由于C源程序是由字符流组成的,因此可以作为文本文件在任何文本编辑的软件中输入。
C)由于C程序是高级语言程序,因此输入后即可执行。
D)由于C程序是高级语言程序,因此它是由命令组成的。
c语言程序基础练习题500道(附答案)
1.下列四组选项中,均不是C语言关健字的选项是( A )。
A) define B) gect C) include D) whileIF char scanf gotype printf case pow2.下面四个选项中,均是合法整型常量的选项是( A )。
A)160 B)-0xcdf C) -01 D)-0x48a-0xffff 01a 986,012 2e5011 0xe 0668 0x3.下面四个选项中,均是不合法的转义符的选项是( B )。
A) '\"' B) '\1011' C) '\011' D) '\abc''\\' '\' '\f' '\101''xf' '\A' '\}' 'x1f'4.下面不正确的字符串常量是( A )。
A)'abc' B)"12'12" C)"0" D)" "5.以下选项中不合法的用户标识符是( A )。
A)abc.c B)file C)Main D)PRINT6.C语言提供的合法关键字是( D )。
A) swithB) cherC) CaseD)default7.下列标识符组中,合法的用户标识符为 AA)_0123与ssipedB)del-word与signedC)list与*jerD) keep%与wind8.在C语言中,逻辑值"真"的表示是用( C )。
A) true B) 整型值0 C)非另整型值D) T9若有以下定义char s='\092';则该语句( b )A)使s的值包含一个字符B)定义不合法,s的值不确定C)使s的值包含4个字符D)使s的值包含3个字符10设C语言中,int类型数据占2个字节,则float类型数据占(D )个字节。
C语言练习题及参考答案
练习题1及参考答案1. 单项选择题(1)以下并非C语言的特点的是????? 。
A.? C语言简洁和紧凑B. 能够编制出功能复杂的程序C.? C语言可以直接对硬件进行操作D.? C语言移植性好【答】B(2)一个C程序的执行是从????? 。
A.? main()函数开始,直到main()函数结束B. 第一个函数开始,直到最后一个函数结束C. 第一个语句开始,直到最后一个语句结束D.? main()函数开始,直到最后一个函数结束【答】A(3)在C程序中,main()的位置????? 。
A. 必须作为第一个函数B. 必须作为最后一个函数C. 可以任意D. 必须放在它所调用的函数之后【答】C(4)一个C程序是由????? 。
A. 一个主程序和若干子程序组成B. 一个或多个函数组成C. 若干过程组成D. 若干子程序组成【答】B(5)下列说法正确的是????? 。
A. 在执行C程序时不是从main()函数开始的B.? C程序书写格式限制严格,一行内必须写一个语句C.? C程序书写格式比较自由,一个语句可以分行写在多行上D.? C程序书写格式严格要求一行内必须写一个语句,并要求行号【答】C2. 填空题(1)一个C源程序至少有?? ①?? 个main()函数和?? ②?? 个其他函数。
【答】①一? ②若干(2)任何C语句必须以????? 结束。
【答】分号(3)C语言源程序的基本单位是????? 。
【答】函数(4)C编译程序的功能是????? 。
【答】将C源程序编译成目标代码练习题2及参考答案1. 单项选择题(1)以下字符串为标识符的是????? 。
A. _MY????????? ??????B. 2_2222?????? ?????? ??????C. short?????? ?????? ??????D. LINE 5【答】A(2)下列符号可以作为变量名的是????? 。
A. +a????? ?????? ??????B. *p?????? ?????? ?????? ??????C. _DAY????? ?????? ??????D. next day【答】C(3)设c是字符变量,则以下表达式正确的是????? 。
C语言考试复习专用三套题附答案
C语言考试复习专用三套题附答案《C语言程序设计》习题集习题一一、语言基础(共20分,每题2分)(一)设某为一数字字符,则其所对应的十进制数值为A)某B)某-‘0’C)某某D)&某(二)说明语句char=‘\\t’,使包含了几个字符?A)1B)2C)3D)说明有错(三)设a=6,b=4,则表达式b某=a+3的值为A)3B)18C)27D)36(四)若给定表达式(m)?a++:a--,则其中表达式m和等价。
A)m==0B)m!=0C)m=0D)m=1(五)设有说明语句inta[10],则数组a包括了个数组元素。
A)1B)9C)10D)20(六)以下函数tet返回值类型为tet(int某){printf(“%f\\n”,(float)某);}A)intB)floatC)voidD)不确定或错误(七)C语言规定,main函数的参数A)只能有0个B)只能有0个或一个C)只能有0个或2个D)可有任意个(八)设某为整型变量,p基类型为整型的指针变量,则正确的赋值表达式是A)p=&某B)p=某C)某p=&某D)某p=某某(九)TurboC中,int型数据在存储器中占二个字节,则以下类型数据在存储器中占的字节数为:tructtet{int某;floaty;charz;};A)2B)3C)6D)7(十)rewind()函数的作用是A)重新打开文件B)使文件位置指针重新回到文件的开始C)使文件位置指针重新回到文件的末D)返回文件长度值二、阅读下列程序,写出运行结果(共18分,每题3分)[程序1]#includevoidmain(){inta=1,b=4,c=2;运行结果:1a=(a+b)/c;printf(“%d\\n”,--a);}[程序2]voidmain(){charc1=67;/某‘A’的ASCII码值为65某/if(‘A’<=c1&&c1<=’Z’)运行结果:67,Dprintf(“%d,%c”,c1,c1+1);eleprintf(“%c”,c1);}[程序3]viodmain(){inta=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(){inti,j;运行结果:1,2,4,8,16,32,64,128,256,512taticinta[10]={1,1,1,1,1,1,1,1,1,1};for(i=0;i<10;i++)for(j=0; jprintf(“%d,”,a[i]);}[程序5]intk=2;f(intm)运行结果:6,8{m+=k;k+=m;5,9printf(“%d,%d\\n”,m,k++);}main(){inti=4;for(i++);printf(“%d,%d\\n”,i,k);}[程序6]voidmain(){taticinta[10],i;运行结果:13579for(i=0;i<10;i++)a[i]=i+1;for(i=0;i<10;i=i+2)printf(“%d”,某(a+i));}三、阅读分析下列程序,在处填上适当的内容使程序(或函数)完整(共21分,每空3分)(一)以下程序输出所有大写字母和其对应的ASCII码值。
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 )。
c语言历年真题及答案
c语言历年真题及答案【篇一:c语言试题及答案】t>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语言考试习题及答案
第一章C语言程序设计概述习题1. C语言程序的基本结构是【】。
A) 函数B) 语句C) 字符D) 程序行2. 下列四个叙述中,正确的是【】A)在C程序中,主函数必须位于其他函数的最前面B)在C程序中,一行只能写一条语句C)C程序的基本结构是程序行D)C语句是完成程序功能的最小单位3. C语言规定,在一个C程序中,main()函数的位置是【】A)必须在开始B) 必须在最后C) 可以任意D) 必须在系统调用的库函数之后4. 以下叙述中,正确的是【】。
A) C语言程序总是从第一个定义的函数开始执行 .B) C语言程序中,要调用的函数必须在main()函数中定义C) C语言程序总是从main()函数开始执行D) C语言程序中的main()函数必须放在程序的开始部分5. 在C语言提供的合法的关键字是【】A)switch B)cher C)Case D)FLOAT6. 以下用户标识符,其中合法的是【】A) For B) 4d C) f2.G3 D) _f#第2章数据类型、运算符和表达式习题1.int x=43, y=0; char ch=‘A’;则表达式x*y+ch-‘B’的值是【】。
A) 43 B) 65 C) 1 D) 02. 在C语言中,合法的字符常量是【】A)'\084' B)'\x43' C)'ab' D)"\0"3. 若已定义: int x=5.5,y; 则表达式y=2.75+x/2的值是【】。
A) 5.5 B) 5 C) 4 D) 4.04. a=2为整型变量,(a+‘E’-‘A’)*3表达式的值是【】。
A)18 B)12 C)8 D)205. 表达式5/2的值是【】。
A)2.5 B) 2 C) 3 D) 16. 设y=z=4,则表达式x=y==z的值为【】。
A)4 B) –4 C) 1 D) 0 7. 设int a,b;则表达式a=2,b=++a*2的值为【】。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1. C语言程序的基本结构是【 】。 A) 函数 B) 语句 C) 字符 D) 程序行 2. 下列四个叙述中,正确的是【 】 A)在C程序中,主函数必须位于其他函数的最前面 B)在C程序中,一行只能写一条语句 C)C程序的基本结构是程序行 D)C语句是完成程序功能的最小单位 3. C语言规定,在一个C程序中,main()函数的位置是【 】 A) 必须在开始 B) 必须在最后 C) 可以任意 D) 必须在系统调用的库函数之后 4. 以下叙述中,正确的是【 】 。 A) C语言程序总是从第一个定义的函数开始执行 . B) C语言程序中,要调用的函数必须在main()函数中定义 C) C语言程序总是从main()函数开始执行 D) C语言程序中的main()函数必须放在程序的开始部分 5. 在C语言提供的合法的关键字是【 】 A) switch B) cher C) Case D) FLOAT 6. 以下用户标识符,其中合法的是【 】 A) For B) 4d C) f2.G3 D) _f#
A)4 B) –4 C) 1 D) 0 7. 设int a,b;则表达式a=2,b=++a*2的值为【 】。 A)6 B) 4 C) 8 D) 2 8. 列四组数据类型中,C语言允许的一组是【 】 A) 整型、实型、逻辑型,双精度型 B) 整型、实型、字符型,无值类型 C) 整型、双精度型、布尔型,无值类型 D) 整型、实型、复型、字符型 9. 以下能正确定义变量a, b和c并为它们赋值的语句是【 】 A) int a=5; b=5; c=5; B) int a,b,c=5; C) a=5,b=5,c=5; D) int a=5, b=5, c=5; 10. C语言所提供的五种基本数据类型包括:字符型、整型、双精度 型、浮点型和【 】。 A) 指针型 B) 结构型 C) 数组型 D) 无值类型 11. 设变量a为整型,f为实型,i为双精度型,则表达式10+‘a’+i*f 的 数据类型是【 】。 A) int型 B) float 型 C) double型 D) 不确定 12. 若有定义: int x=3, y=2; float a=2.5, b=3.5; 则表达式 (x+y)%2+(int)a/(int)b的值是【 】。 A) 0 B) 2 C) 1.5 D) 1 13. 若d为double型, 表达式 d=1, d+5, d++ 的值是【 】。 A) 1 B) 6.0 C) 2.0 D) 1.0 14. 设int a=1, d=4;float b=2.0, c=3.0, 则表达式: a+b*c-d%2 的值 是【 】。 A) 5 B) 6 C) 5.0 D) 6.0 15. 下列运算符中,优先级最高的是【 】。 A) * B) ++ C) + D) /= 16. 若希望当整型变量A的值为5时, 表达式的值为1, 则下面不能满足 要求的表达式是【 】。 A) A/2-1 B) A%2 C)(A-2)/2 D) (A+3)%2 17. a、b均为整数, 且b≠0, 则表达式 a/b*b+a%b的值是【 】。 A) a B) b C) a被b除的余数部分 D) a被b除商的整数部 分 18. 设x、y、z、s均为int型变量,且初值均为1,则执行语句s=(++x)+ (++y)-(++z);后, s的值为【 】。
第2章 数据类型、运算符和表达式习题
1. int x=43, y=0; char ch=‘A’;则表达式x*y+ch-‘B’的值是【 】。 A) 43 B) 65 C) 1 D) 0 2. 在C语言中,合法的字符常量是【 】 A) '\084' B) '\x43' C) 'ab' D) "\0" 3. 若已定义: int x=5.5,y; 则表达式y=2.75+x/2的值是【 】。 A) 5.5 B) 5 C) 4 D) 4.0 4. a=2为整型变量,(a+‘E’-‘A’)*3表达式的值是【 】。 A) 18 B) 12 C) 8 D) 20 5. 表达式5/2的值是【 】。 A)2.5 B) 2 C) 3 D) 1 6. 设y=z=4,则表达式x=y==z的值为【 】。
} A) **** B) %%%% C) %%%%\n D) ****%%%% 3. 下列程序段的输出结果是【 】。 char m='a'; while (!m) printf("%c",m); A)a B)aaa... C)不输出任何信息 D)'a' 4. 运行下列程序,输出结果是【 】。 main() { char m='a'; do { printf("%c",m); } while(!m); } A) a B) aaa... C) 'a' D) 不输出任何值 5. 下列程序段执行后,s的值为【 】。 int k,s=0; for(k=1;k<=10;++k) s=s*k; A)1*2*3*...*10 B)0 C)11 D)10 6. 下列程序段执行后,s的值为【 】。 int k,s=0; for(k=1;k<=10;) s=s+k;k++; A)1+2+3+...+10 B)10 C)11 D)死循环 7. 以下四条语句中,有语法错误的是【 】。 A)if(a>b) m=a; B)if(a<b) m=b; C)if((a=b;)>=0) m=a; D)if((a=b)>=0) m=a; 8. 运行下面程序段后,i的值是【 】。 int i; for(i=0;i<10;i++) printf("%d",i);
A) 3 B) 6 C) 4 D) 5 19. 若已定义: int x=5.5,y; 则表达式y=2.75+x/2的值是【 】。 A) 5.5 B) 5 C) 4 D) 4.0 20. 若已定义int a; 则表达式 a=10, a+10, a++的值是【 】。 A) 20 B) 10 C) 21 D) 11 21. 已知 int x=4, y=-1; char ch=‘A’; 则表达式(x-y+ch-‘B’-y) 的值 是【 】。 A) 2 B) 1 C) 3 D) -2 22. 下列运算符中,运算优先级最低的是【 】。 A) -B) / C) + D) -= 23. 若给定表达式 2.5+3/2-7%2,则与表达式的值是【 】。 A) 2 B) 1 C) 2.5 D) 2.0 24. 已定义int a;则表达式 a=10,a+10,a++的值是【 】。 A) 20 B) 10 C) 21 D) 11 25. 错误的转义字符是 【 】 A) '\091' B) '\\' C) '\0' D) '\'' 26. 设int a,b,c;执行表达式a=b=1,a++,b&) 2, 1, 2 B) 2, 0, 3 C) 2, 2, 3 D) 2, 1, 3 27. 在C语言中,合法的长整型常数是【 】 A) 0L B) 49627 C) 324562& D) 216D 28. 假定x和y为double型,则表达式x=2,y=x+3/2的值是【 】 A) 3.500000 B) 3 C) 2.000000 D) 3.000000 29. 以下合法的赋值语句是【 】 A) x=y=100 B) d--; C) x+y; D) c=int(a+b); 30. 若能x,i,j和k都是int型变量,则计算表达式x=(i=4,j=16, k=32)后x的值是【 】 A) 4 B) 16; C) 32 D) 52 31. 下面均是合法整型常量的是【 】。 A) 160 B) -0xcdf C) -01 D) -0x48a -0xffff 01a 986.12 2e5 012 0xe 0668 0x 32. 下面不正确的字符串常量是【 】。 A) ‘abc’ B) “12’12” C) “0” D) “ ” 33. 符合语法的赋值表达式是【 】。 A) d=9+e+f=d+9 B) d=9+e,f=d+9 C) d=9+e,e++,d+9 D) d=9+e++=d+7
A)9 B)10 C)0 D)0123456789 9. 有如下程序段: int p=10; while(p=0) p=p-2; 则下面的描述中正确的是【 】。 A)while语句执行10次 B)循环是无限循环 C)循环体语句一次也不执行 D)循环体语句执行一次 10. 语句while(!E);中的表达式 !E等价于【 】。 A)E==0 B)E!=1 C)E!=0 D)E==1 11. 设a为整型变量,则下列不能正确表达数学关系1<a<5 的表达式是 【 】。 A)a>1&&a<5 B)a==2||a==3||a==4 C)1<a<5 D)!(a<=1)&&!(a>=5) 12. 设 int a=1,b=2,c=3,d=4,z;则表达式(a>b)?(z=c):(z=d)的值为【 】。 A)4 B)2 C)1 D)3 13. 设 int i=4;则表达式(i==2)?i:i-1的值为【 】。 A)1 B)2 C)0 D)3 14. 以下程序段在执行时,若从键盘输入3,则输出为【 】。 int x; scanf("%d",&x); switch (x) { case 5: printf("Excellent"); default: printf("Poor"); case 4: printf("Good"); case 3: printf("Pass"); case 2: printf("Fail"); } A)Pass B)Passpoor C)PoorPassFail D)PassFail 15. 以下程序段的输出结果是【 】。