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

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

第1次客观题作业一、单选题(共30题,每题3分)1 .下面表示正确的是__A___。
A.C语言中的逗号是一种运算符B.在C语言中,一行只能有一个语句C.C中的变量不区分大小写D.c中的关键字可以做为变量名2 .字符型常量在内存中存放的是__A____代码值。
A.ASCII B.二进制C.十进制D.八进制3 .以下不正确的C语言标识符是(C )。
A.AB1 B._ab3 C.4ab D.a2_b4 .以下运算符中优先级最低的运算符是_D____。
A.&& B.& C.|| D.=5 .在C语言中,要求运算数必须是整型的运算符是___A___。
A.% B./ C.< D.!6 . C语言程序的基本单位是__C_____。
A.程序行B.语句C.函数D.字符7 .将高级语言编写的程序翻译成目标程序的是___B____程序。
A.解释程序B.编译程序C.汇编程序D.源程序8 .以下选项中,与k=n++完全等价的表达式是__A___。
A.k=n,n=n+1 B.n=n+1,k=n C.k=++n D.k+=n+19 .下列(A )不属于结构化程序设计的循环结构。
A.For B.While C.if-else D.do-while10 .以下叙述中错误的是__A___。
A.用户所定义的标识符允许使用关键字B.用户所定义的标识符应尽量做到“见名知意C.用户所定义的标识符必须以字母或下划线开头D.用户定义的标识符中,大、小写字母代表不同标识11 .若有输入语句scanf( %d%d%d,&x,&y,&z);则不能使x值为5,y值为6,z值为7的输入是__A____。
A.5,6 ,7 B.5回车换行 6 7 C.5 6 7 D.5,6,712 .若i,j已定义为int类型,则下程序段中内循环体的总的执行次数是( B )。
for (i=3;i>0;i--) for (j=0;j<=4;j++){...}A.12 B.15 C.16 D.2013 .下列选项中,合法的C语言关键字是_D___。
C语言入门试题及答案

C语言入门试题及答案1.int a;()A、声明一个整型变量a。
(正确答案)B、声明一个实型变量a。
2.float b;()A、声明一个实型变量b。
(正确答案)B、声明一个整型变量b。
3.char c;()A、声明一个字符型的变量c。
(正确答案)B、声明一个整型的变量c。
4.int a=66;()A、声明一个整型的变量a,并给它赋值为66。
(正确答案)B、声明a等于66。
5.float b=2.5;()A、声明一个实型的变量b并给它赋值2.5。
(正确答案)B、声明b等于2.56.char c='m';()A、上面一个字符型的变量,c给它赋值m。
(正确答案)B、声明c等于m7.int i,j,k;()A、声明三个整型的变量分别是ijk。
(正确答案)B、声明三个实型的变量分别是ijk。
8.scanf("%d",&a);()A、从键盘输入一个值,赋给整形变量a(正确答案)B、打印整型变量a的值9.printf("%d",a);()A、按整型的格式输出变量a。
(正确答案)B、从键盘输入一个值,赋值给a10.scanf("%d%d",&a,&b);()A、从键盘输入两个值,依次赋给整形变量a和b。
(正确答案)B、输出两个整形变量ab。
11.printf("%d,%d",a,b);()A、输出两个整形变量ab。
(正确答案)B、从键盘输入两个值,依次赋给整形变量a和b。
12.scanf("%d%f",&a,&b);()A、从键盘输入两个值,第一个赋给整型变量a,第二个赋给浮点型变量b。
(正确答案)B、输出两个变量,一个是整形变量,a一个是实型变量b。
13.printf("%d,%f",a,b);()A、输出两个变量,一个是整型变量,a一个是实型变量b。
C语言试题(部分有答案)

选择题1.1.一个C程序的执行是从()A.本程序的main函数开始,到main函数结束。
B.本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C.本程序的main函数开始,到本程序文件的最后一个函数结束D.本程序文件的第一个函数开始,到本程序main函数结束1.2.以下叙述正确的是()A.在C语言中,main函数必须位于程序的最前面。
B.C语言的每行中只能写一条语句C.C语言本身没有输入输出语句D.在对一个C语言进行编译的过程中,可发现注释中的拼写错误1.3.C语言规定:在一个源程序中,main函数的位置()A.必须在最开始B.必须在系统调用的库函数的后面C.可以任意D.必须在最后2.2.假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是()A.7 B.8 C.6 D.22.3.若有说明语句:char c=‟\66‟ ; 则说明c ()A.包括1个字符B.包括2字符C.包括3字符D.一个不合法的表达式,c的值不确定2.4.设变量a 是int,f是float, i是double,则表达式10+‟a‟+i*f值的数据类型为()A.int B.float C.double D.不确定3.1.已知ch是字符变量,下面不正确的赋值语句是()A.ch=‟a+b‟B.ch=‟\0‟C.ch=‟7‟+‟8‟D.ch=5+93.2.设x、y均为float型变量,则以下不合法的赋值语句是()A.++x B.y=(x%2)/10 C.x*=y+8 D.x=y=04.1.逻辑运算符两侧运算对象的数据类型()A.只能是0或1 B.只能是0或非0整数C.只能是整型或字符型数据D.可以是任何类型数据4.2.判断char型变量ch是否为大写字母的正确表达式是()A.‟A‟<=ch<=‟Z‟B.(ch>=‟A‟)&(ch<=‟Z‟)C.(ch>=‟A‟)&&(ch<=‟Z‟) D.(…A‟<=ch)AND(…Z‟>=ch)4.3.已知x=43,ch=‟A‟,y=0;则表达式(x>=y&&ch<‟B‟&&!y)的值是()A.0 B.语法错C.1 D.‟假‟4.4.已知int x=10,y=20,z=30;以下语句执行后x,y,z的值是()If(x>y)z=x;x=y;y=zA.x=10,y=20,z=30 B.x=20,y=30,z=30C.x=20,y=30,z=10 D.x=20,y=30,z=204.5.以下程序的运行结果是()main(){int m=5;if (m++>5) printf(“%d”,m);else printf(“%d”,m--);}A.4 B.5 C.6 D.74.6.以下程序的运行结果是()main(){ int k=4,a=3,b=2,c=1;printf(“%d”,k<a?k:c<b?c:a);}A.4 B.3 C.2 D.15.1.设有程序段int k=10;while (k=0) k=k-1;则下面描述中正确的是A.while循环执行10次B.循环是无限循环C.循环体语句一次也不执行D.循环体语句执行一次5.2.语句while(! E);中的表达式!E等价于()A.E= =0 B.E ! = 1 C.E ! = 0 D.E= =15.3.下面程序段的运行结果是()int n=0;while(n++<=2); printf(“%d”,n);A.2 B.3 C.4 D.有语法错5.4.以下程序段()x=-1;do{x=x*x}while(! x)A.死循环B.循环执行二次C.循环执行一次D.有语法错误5.5.以下不是无限循环的语句是()A.for(y=0,x=1;x>y++y;x=i++) i=x; B. for( ; ; x++=i );C.while(1){x++;} D.for(i=10; ;i--)sum+=i5.6.执行语句for(i=1;i++<4; );后变量i的值是()A.3 B.4 C.5 D.不确定6.1.在C语言中,引用数组元素时,其下标的数据类型允许是()A.整型常量B.整型表达式C.A或B D.任何类型6.2.若有说明:int a[][4]={0,0};则下面不正确的叙述是()A. 数组a的每个元素都可得到初值0B. 二维数组a的第一维大小为1C. 因为二维数组a中第二维大小的值除以初值个数的商为1,故数组a的行数为1D. 只有元素a[0][0]和a[0][1]可得到初值0,其余元素均得不到初值06.3.若二维数组a有m列,则在a[i][j]前的元素个数为()A. j*m+iB. i*m+jC. i*m+j-1D. i*m+j+16.4.下面程序的运行结果是()main(){ int a[6], i ;For (i=1; i<6; i++){ a[i] = 9 * (I – 2 + 4 * ( i > 3)) % 5;Printf( “%2d”, a[i] );}}A. -4 0 4 0 4B. -4 0 4 0 3C. -4 0 4 4 3D. -4 0 4 4 06.5 下面程序段的运行结果是()char c[5] = {…a‟, …b‟, …\0‟, …c‟, …\0‟};printf(“%s”, c);A. …a‟‟ b‟B. abC. ab cD. ab6.6 下面程序段的运行结果是()char a[7] = “abcdef”;char b[4] = “ABC”;strcpy(a, b);printf(“%c”, a[5]);A. 空格B. \0C. eD. f6.7 有下面程度段char a[3], b[]= “China”;a = b;printf(“%s”, a);则()A.运行后将输出China B.运行后将输出ChC.运行后将输出Chi D.编译出错6.8 下面程序的功能是将字符串s中所有的字符c删除。
c语言期末复习试题附答案

试卷编号:1120所属语言:C语言试卷方案:C语言期末考试试卷总分:100分共有题型:4种一、单项选择共30题(共计60分)第1题(分)设有定义:int k=0;,以下选项的四个表达式中与其他三个表达式的值不相同的是(A ).A:k++B:k+=1C:++kD:k+1第2题(分)已知int i=5,执行语句i+=++i后,i的值是(C).A:10B:llC:12D:A、B、C都不对第3题(分)以下程序的功能是:给r输入数据后,计算半径为r的圆面积s.程序在编译时出错. ttinclude <>void main()/* Beginning */{ int r;float s;scanf (〃%d〃,&r);s=p*r*r; printf (〃s=%f\n〃,s);出错的原因是(D).A:注释语句书写位置错误B:存放圆半径的变量r不应该定义为整型C:输出语句中格式描述符非法D:计算圆面积的赋值语句中使用了非法变量第4题(分)〃\\\〃 ABC\〃 \\〃的长度是(B ).A:llB:7C:5D:3第5题(分)已知int j, i=l执行语句j=-i++;后,j的值是(C ).A:1B:2串中的内容为“abcdefg”时,c 所指数组中的内容应该为 “lg2f3e4dcba” 。
*/ttinclude <>#include <>#include <>void fun ( char char *b, char *c )int i , j;char ch;i = 0;j 二 strlen(b)-l;/**********FOUND**********/ch = b [ i];b[j] = ch; i++; j —;/**********FOUND**********/while ( *a &&*b )//此处&&改为| | (逻辑或)if ()*c =*a;c++;/**********FOUND**********/a+;)if ( *b )*c 二*b; c++;b++;*c = 0;main()char sl[100],s2[100],t[200];clrscr ();printf (,z \nEnter si string : 〃);scanf (〃如〃,si);printf (,z \nEnter s2 string : 〃);scanf (〃%s 〃, s2);fun( si, s2, t );printf (/z \nThe result is : %s\n 〃,t );i j四、程序设计共1题(共计20分)第1题(分)/*【程序设计】功能:判断一个整数w 的各位数字平方之和能否被5整除, 可以被5整除则返回1,否则返回0。
C语言试题库(含答案)

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语言的基本数据类型?- A. int- B. float- C. string- D. double2. 以下哪个是正确的C语言变量声明?- A. var int a;- B. int a = 0;- C. int a = 0.0;- D. int a = '0';3. 在C语言中,以下哪个是合法的数组初始化?- A. int arr[5] = {1, 2, 3};- B. int arr[5] = {1, 2, 3, 4};- C. int arr[5] = {1, 2, 3, 4, 5, 6};- D. int arr[5] = {1, 2, 3, 4.5, 5};4. 以下哪个是C语言中的函数原型?- A. void myFunction();- B. myFunction();- C. int myFunction(int, int);- D. myFunction(int a, int b);5. 在C语言中,以下哪个是正确的字符串常量?- A. "Hello World"- B. 'Hello World'- C. "Hello\nWorld"- D. "Hello\World"二、填空题1. 在C语言中,一个变量的声明必须在______。
2. 一个C语言程序的执行从______函数开始。
3. 用于输入输出的函数分别是______和______。
4. 一个数组的元素可以通过______访问。
5. 在C语言中,一个字符串常量以______结尾。
三、简答题1. 解释C语言中指针的概念及其用途。
2. 描述C语言中函数的作用域。
3. 简述C语言中结构体的定义和使用。
四、编程题1. 编写一个C语言程序,计算并输出1到100的整数和。
2. 编写一个C语言函数,实现字符串的反转。
百度文库c语言概述试题及答案
百度文库c语言概述试题及答案一、选择题(每题2分,共10分)1. C语言是由谁开发的?A. 比尔·盖茨B. 丹尼斯·里奇C. 史蒂夫·乔布斯D. 拉里·佩奇答案:B2. C语言是一种:A. 编译型语言B. 解释型语言C. 汇编语言D. 机器语言答案:A3. 下列哪个关键字用于定义一个函数?A. returnB. functionC. defD. void答案:D4. 在C语言中,哪一个是正确的注释方式?A. // 这是注释B. /* 这是注释 */C. //* 这是注释D. /* 这是注释答案:B5. C语言中,用于定义一个结构体的关键字是:A. structB. unionC. classD. typedef答案:A二、填空题(每题2分,共10分)1. C语言的标准输入输出函数分别是________和________。
答案:scanf, printf2. C语言中,用于定义一个整型变量的关键字是________。
答案:int3. 在C语言中,________运算符用于将一个浮点数转换为整数。
答案:强制类型转换4. C语言中,数组的索引从________开始。
答案:05. C语言中,________关键字用于定义一个全局变量。
答案:extern三、简答题(每题5分,共20分)1. 请简述C语言的特点。
答案:C语言是一种高级编程语言,具有结构化、可移植、可扩展等特点。
它支持多种数据类型,并且具有丰富的运算符和控制语句,适用于系统编程和嵌入式开发。
2. 在C语言中,如何定义一个指针?答案:在C语言中,定义一个指针需要使用星号(*)符号,例如:int *p; 表示定义了一个指向整型的指针变量p。
3. 请解释C语言中的预处理指令。
答案:C语言中的预处理指令是在编译之前进行处理的指令,例如#include用于包含头文件,#define用于定义宏,#ifdef和#ifndef 用于条件编译等。
C语言试卷(含答案)
C语言试卷(含答案)一、单项选择题(每小题2分,共40分)1、sizeof(float)是()A. 一个双精度型表达式B. 一个整型表达式C. 一种函数调用D. 一个不合法的表达式2、设i是int型变量,f是float型变量,用下面的语句给这两个变量输入值: scanf("i=%d,f=%f",&i,&f);为了把100和分别赋给i和f,则正确的输入为()。
A. 100B. i=100,f=765.12C. 100<回车>D. x=100y=3、#include<>voidmain(){inta=3,b=2,c=1;intx=10,y=20;if(a<b)< p="">if(b!=0)if(!x)y=1;elseif(x)y=0;y=-1;printf("%d",y);}上面的C程序的输出结果是()。
A. 20B. 1C. 0D. -14、C语言中,while和do…while循环的主要区别是()。
A. do…while的循环体至少无条件执行一次B. while的循环控制条件比do…while的循环控制条件严格C. do…while允许从外部转到循环体内D. do…while的循环体不能是复合语句5、执行下面的C程序段后,输出结果是()。
inta=5; while(a--);printf("%d",a);A. 54321B. 4321C. 0D. -16、在C语言中,()是在所有函数外部声明的。
A. 全局变量B. 局部变量C. 形参D.实参7、分析下面的C程序:#include<>voidmain(){intnum=0;while(num<=2){num++;printf("%d",num);}}输出结果是()。
A. 123B. 012C. 23D. 128、下面的C语言代码段的输出结果是()。
c语言计算机试题及答案
c语言计算机试题及答案1. 单项选择题(1) 下列哪个选项是C语言中合法的变量名?A. 2variableB. variable2C. variable-2D. variable_2答案:D(2) C语言中,以下哪个关键字用于定义函数?A. classB. functionC. defD. void答案:D(3) 在C语言中,用于定义字符串的字符数组的声明方式是?A. int str[10];B. char str[10] = "Hello";C. string str = "Hello";D. char str[] = "Hello";答案:B2. 多项选择题(1) 下列哪些选项是C语言中合法的整数常量?A. 012B. 0x1AC. 10LD. 1.0答案:A, B, C(2) 在C语言中,以下哪些运算符用于比较操作?A. ==B. !=C. <=D. %答案:A, B, C3. 填空题(1) 在C语言中,用于定义一个整型数组的语句是____。
答案:int array_name[size];(2) C语言中,用于循环结构的关键字是____。
答案:for, while, do-while4. 简答题(1) 请简述C语言中指针的概念。
答案:指针是一个变量,其值为另一个变量的地址。
通过指针,程序可以直接访问和操作内存地址。
(2) 解释C语言中结构体的作用。
答案:结构体是一种用户自定义的数据类型,允许将不同的数据类型组合成一个单一的数据结构,以便于数据的组织和管理。
5. 编程题(1) 编写一个C语言程序,实现将一个整数数组逆序输出。
答案:```c#include <stdio.h>int main() {int arr[] = {1, 2, 3, 4, 5};int n = sizeof(arr) / sizeof(arr[0]); for(int i = n - 1; i >= 0; i--) {printf("%d ", arr[i]);}return 0;}```。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
大学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 语言中,标识符的定义规则是以字母或下划线为开头。
(8) C 语言程序的注释可以出现在程序中的任何地方,它总是以 /* 符号作为开始标记,以 */ 符号作为结束标记。
第2章数据类型运算符和表达式习题1. 单项选择题(1) 以下选项中,正确的 C 语言整型常量是 D 。
A. 32LB. 510000C. -1.00D. 567(2) 以下选项中, D 是不正确的 C 语言字符型常量。
A. 'a'B. '\x41'C. '\101'D. "a"(3) 在 C 语言中,字符型数据在计算机内存中,以字符的 C 形式存储。
A. 原码B. 反码C. ASCII 码D. BCD码(4) 字符串的结束标志是 C 。
A. 0B. '0'C. '\0'D. "0"(5) 算术运算符、赋值运算符和关系运算符的运算优先级按从高到低依次为 B 。
A. 算术运算、赋值运算、关系运算B. 算术运算、关系运算、赋值运算C. 关系运算、赋值运算、算术运算D. 关系运算、算术运算、赋值运算(6) 逻辑运算符中,运算优先级按从高到低依次为 D 。
A. &&,!,||B. ||,&&,!C. &&,||,!D. !,&&,||(7) 表达式!x||a==b 等效于 D 。
A. !((x||a)==b)B. !(x||y)==bC. !(x||(a==b))D. (!x)||(a==b)(8) 设整型变量 m,n,a,b,c,d 均为1,执行 (m=a>b)&&(n=c>d)后, m,n 的值是 A 。
A. 0,0B. 0,1C. 1,0D. 1,1(9) int b=0,x=1;执行语句 if(x++) b=x+1; 后,x,b 的值依次为 A 。
A. 2,3B. 2,0C. 3,0D. 3,2(10) 设有语句 int a=3;,则执行了语句 a+=a-=a*=a; 后,变量 a 的值是 B 。
A. 3B. 0C. 9D. -12(11) 在以下一组运算符中,优先级最低的运算符是 D 。
A. *B. !=C. +D. =(12) 设整型变量 i 值为2,表达式(++i)+(++i)+(++i)的结果是 B 。
A. 6B. 12C. 15D. 表达式出错(13) 若已定义 x 和 y为double 类型,则表达式 x=1,y=x+3/2 的值是 C 。
A. 1B. 2C. 2.0D. 2.5(14) sizeof (double)的结果值是 A 。
A. 8B. 4C. 2D. 出错(15) 设a=1,b=2,c=3,d=4,则表达式:a<b? a : c<d? a : d的结果为 D 。
A. 4B. 3C. 2D. 1(16) 设a 为整型变量,不能正确表达数学关系:10<a<15的 C 语言表达式是 A 。
A. 10<a<15B. a= =11|| a= =12 || a= =13 || a= =14C. a>10 && a<15D. !(a<=10) && !(a>=15)(17) 设 f是实型变量,下列表达式中不是逗号表达式的是 D 。
A. f= 3.2, 1.0B. f>0, f<10C. f=2.0, f>0D. f=(3.2, 1.0)(18) 设ch是 char型变量,其值为 'A',则下面表达式的值是 B 。
ch=(ch>='A'&& ch<='Z')? (ch+32):chA. AB. aC. ZD. Z(19) 以下运算符中,结合性与其他运算符不同的是 A 。
A. ++B. %C. /D. +(20) 以下用户标识符中,合法的是 B 。
A. intB. nitC. 123D. a+b(21) C 语言中,要求运算对象只能为整数的运算符是 % 。
A. %B. /C. >D. *(22) PC 机中,'\n'在内存占用的字节数是 A 。
A. 1B. 2C. 3D. 4(23) 字符串"ABC"在内存占用的字节数是 B 。
A. 3B. 4C. 6D. 8(24) 要为字符型变量 a赋初值,下列语句中哪一个是正确的 B 。
A. char a="3";B. char a=’3’;C. char a=%;D. char a=*;(25)下列不正确的转义字符是 C 。
A. \\B. \'C. 074D. \02. 填空题(1) C 语言中的逻辑值“真”是用非0 表示的,逻辑值“假”是用 0 表示的。
(2) 符号常量的定义方法是 #define N 10 。
(3) 无符号基本整型的数据类型符为 unsigned int ,双精度实型数据类型符为 double ,字符型数据类型符为 char 。
(4) 设c='w',a=1,b=2,d=-5, 则表达式'x'+1>c, 'y'!=c+2, -a-5*b<=d+1, b==a=2的值分别为 1 、 0 、 1 、表达式错误。
(5) 设 float x=2.5,y=4.7; int a=7;,表达式 x+a%3*(int)(x+y)%2/4的值为 2.5 。
(6) 判断变量 a、b 的值均不为 0 的逻辑表达式为 (a!=0)&&(b!=0) 。
(7) 求解赋值表达式 a=(b=10)%(c=6),表达式值、a、b、c 的值依次为 4,4,10,6 。
(8) 求解逗号表达式 x=a=3,6*a 后,表达式值、x、a 的值依次为 18,3,3 。
(9) 数学式a/(b*c)的 C语言表达式 a/(b*c) 。
第3章顺序结构程序设计习题1. 选择题(1) printf("f=%3.2f%%",3.478);的输出结果是 A 。
A. f=3.48%B. f=3.5%C. f=3.48% %D. f=347.8%(2) printf("%c,%d",'a', 'a');的输出结果是 A 。
A. a,97B. a 97C. 97,aD. 97 a(3) scanf("%c",&a);若要给变量输入大写字母 A,则以下正确的输入是 B 。
A. 'A' <CR>B. A <CR> \C. "A" <CR>D. 以上都不对(4) 若一个 int 类型的数据占 2 字节,则程序段:int x=-1;printf("%u,%d",x,x);的输出结果是 A 。
A. 65535, -1B. -1,65535C. 32767, 32768D. 32768,32767(5) 在 TC 中,getchar、putchar、printf、scanf 四个函数,均包含在头文件 B中。
A. math.hB. stdio.hC. stbio.hD. stdlib.h(6) 复合语句是用 C 括起来的语句组。
A. ( )B. [ ]C. { }D. < >(7) 下列格式符中,哪一个可以用于以八进制形式输出整数 C 。
A. %dB. %8dC. %oD. %ld(8) 下列格式符中,哪一个可以用于以十六进制形式输出整数 B 。
A. %16dB. %8xC. %d16D. %d(9) a 是int类型变量,c是字符变量,下列输入语句中哪一个是错误的 B 。
A. scanf("%d,%c",&a,&c);B. scanf("%d%c",a,c);C. scanf("%d%c",&a,&c);D. scanf("d=%d,c=%c",&a,&c);(10) 要使double x; long a;的数据能正确的输出,输出语句应是 D 。
A. printf("%d, %f",a, x);B. printf("%d, %1f",a, x);C. scanf("%1d, %1f",&a, &x);D. printf("%1d, %lf",a, x);2. 程序改错题(以下各个程序段均有 5 个错误,请先找出错误的位置,然后再改正)(1) 以下程序的功能是,从键盘输入一个字符并鸣笛输出。