C语言基础知识习题.doc
《C语言基础知识习题.doc》由会员分享,可在线阅读,更多相关《C语言基础知识习题.doc(22页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、如有侵权,请联系网站删除,仅供学习与交流C语言基础知识习题【精品文档】第 22 页第二章:C语言概述1.以下()是不正确的转义字符。A. B. C.020 D.02.构成C语言程序的基本单位是()。A.函数B.变量C.子程序D.语句3.C语言规定:在一个源程序中,main( )函数的位置(C)。A.必须在最开始 B.必须在系统调用的库函数后面C.可以任意 D.必须在最后4.为求出return语句返回计算100!的结果,此函数的类型说明应为(D)。A.int B.long C.unsigned long D.选项A,B,C.都不对:的数值范围都不够5.C语言中的标识符只能由字母、数字和下划线3种
2、字符组成,且第一个字符(C)。A.必须为字母B.必须为下划线C.必须为字母或下划线D.可以是字母、数字和下划线中的任意一种6.以下选项中合法的用户标识符是(D)。A.int B.a# C.5mem D._2437.C语言中的简单数据类型有(C)。A.整型、实型、逻辑型 B.整型、字符型、逻辑型C.整型、实型、字符型 D.整型、实型、字符型、逻辑型8.以下选项中不正确的整型常量是(B)。A.-37 B.32,758 C.326 D.69.以下选项中合法的C语言字符常量是(A)。A.t B.A C.67 D. A10.以下选项中不正确的实型常量是(A)。A.123 B.1e4 C.3.640E-1
3、 D.0.3511.以下选项中合法的C语言赋值语句是(D)。A.a=b=34 B.a=34,b=34 C.-i; D.m=(int)(x+y);12.设int类型的数据长度为两个字节,则unsigned int类型数据的取值范围是(B)。A.0255 B.065535 C.-3276832767 D.-256255第三章:运算符与表达式 (原先给的答案很多错误)1.以下叙述中不正确的是(B)。A.在C程序中,是只能用于整数运算的运算符B.在C程序中,无论整数还是实数,都能准确无误地表示C.若a 是实型变量,C程序中a=20是正确的,因此实型变量允许被整型数赋值D.以上表述都是正确的2.若变量x
4、、y、z均为double类型且已正确赋值,不能正确表示x/yz的C语言表达式是(A)。A.x/y*z B.x*(1/(y*z) C.x/y*1/z D.x/y/z3.设a、b、c、d、m、n均为 int型变量,且a=5,b=6,c=7,d=8,m=2,n=2,则逻辑表达式(m=ab)&(n=cd)运算后,n的值为(C)。A.0 B.1 C.2 D.34.设w、x、y、z、m均为int型变量,有如下程序段:w=1; x=2; y=3; z=4;m=(wx)? w:x;m=(my)?m:y;m=(mz)?m:z;则该程序运行后,m的值是(D)。A.4 B.3 C.2 D.15.以下程序的输出结果是
5、(C)。#include main( )int a=5,b=4,c=6,d; printf(%dn,d=ab?(ac?a:c):(b);A.5 B.4 C.6 D.不确定6.在C语言中,如果下面的变量都是int类型,则输出的结果是(A)。sum=pad=5; pad=sum+ ,pad+ ,+pad;printf(%dn,pad);A.7 B.6 C.5 D.47.以下程序的输出结果是(B)。#include main( )int i=010 , j=10; printf(%d,%dn,+i , j-); A.11,10 B.9,10 C.010,9 D.10,98.已知int i;float
6、 f;,由以下选项中正确的语句是(D)。A.(int f)%i; B.int(f)%i; C.int(f%i); D.(int)f%i;9.若有定义:int x=3 ,y=2; float a=2.5 ,b=3.5; 则下面表达式的值为(B)。(x+y)%2+(int)a/(int)bA.1.0 B.1 C.2.0 D.210.假设所有变量均为整型,则表达式 (a=2,b=5,a+,b+,a+b)的值为(C)。A.7 B.8 C.9 D.1011.若有定义int x=1, y=1;, 表达式(!x|y-)的值是(B)。A.0 B.1 C.2 D.-112.有以下程序:main( )unsign
7、ed char a,b,c; a=0x3; b=a | 0x8; c=b1; printf(%d %dn,b,c);程序运行后的输出结果是(D)。A.-1112 B.-6-13 C.1224 D.112213.若已定义x和y为double类型,则表达式x=1,y=x+3/2 的值是(C)。A.1 B.2 C.2.0 D.2.514.执行以下程序段后,c3的值为(A)。int c1=1,c2=2,c3;c3=1.0/c2*c1;A.0 B.0.5 C.1 D.215.以下程序的输出结果是(D)。#include main( )int y=3,x=3,z=1; printf(%d %dn,(+x,
8、y+),z+2);A.34 B.42 C.43 D.33第四章:基本语句1.以下选项中不是C语句的是 C 。A)int i;i+;printf(%dn,i); B);C)a=5,c=10 D) ; 2执行以下程序时输入1234567,程序的运行结果为 B 。#include main() int x,y;scanf(%2d%2ld,&x,&y);printf(%dn,x+y);A)17 B)46 C)15 D)93若有定义char a;int b;float c;double d;,则表达式a*b+c-d结果为型 A 。A)double B)int C)float D)char4若有定义int
9、 a,b;,则用语句scanf(%d%d,&a,&b);输入a,b的值时,不能作为输入数据分隔符的是 A 。A), B)空格 C)回车 D)【Tab】键5.运行下面的程序,如果从键盘上输入: abc def则输出结果为 C 。#define N 6#include main() char cN;int i=0;for( ;iN;ci=getchar(),i+);for( i=0;iN;i+) putchar(ci); printf(n);A)abcdefB)abcdC)abcdD)abcdef6以下程序的输出结果是 A 。#include main() printf(%f,2.5+1*7%2/
10、4);A)2.500000 B)2.750000 C)3.375000 D)3.0000007根据定义和数据的输入方式,输入语句的正确形式是 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);8以下程序不用第3个变量,实现将两个数进行对调的操作,请填空。#include main() int a,b;scanf(%d%d,&a,&b);printf(a=%d b=%d,
11、a,b);a=a+b;b=a-b;a= B ;printf(a=%d b=%dn,a,b);A)a+b B)a-b C)b*a D)a/b第五章:选择结构1.以下选项中,能正确表示a10或a0的关系表达式是_D_。A)a=10 or a=10|a=10&a=10 |a=02. 假定所有变量均已正确定义,下列程序段运行后x的值是_B_。a=b=c=0;x=35;if(!a) x-; else if(b);if(c) x=3; else x=4;A)34 B)4 C)35 D)33.以下程序的输出结果_A_。#include main() int a,b,c=246;a=c/100%9;b=(-1
12、)&(-1);printf(%d,%dn,a,b);A)2,1 B)3,2 C)4,3 D)2,-14.已知a=1、b=3、c=5、d=5,下列程序段运行后,x的值是_B_。if(ab)if(cd)x=1;elseif(ac)if(b=0|b=0)&(a0|b=0&b=0)&(a0&b0)&(a+b06. 以下程序的输出结果是_C_。#include main() int a=-1,b=1;if(+a0)& ! (b- =0)printf(%d %dn,a,b);elseprintf(%d %dn,b,a);A)-11 B)01 C)10 D)007.下列关于switch语句和break语句的
13、结论中,正确的是_B_。A)break语句是switch语句中的一部分B)在switch语句中可以根据需要使用或不使用break语句C)在switch语句中必须使用break语句D)break语句只能用于switch语句中8. 若有定义int a=1,b=0;,则执行以下语句后,输出为_B_。switch(a) case 1:switch (b) case 0: printf(*0*); break;case 1: printf(*1*); break;case 2: printf(*2*); break;A)*0* B)*0*2*C)*0*1*2* D)有语法错误9. 以下程序的输出结果是_
14、A_。#include main() int x=1,a=0,b=0;switch(x) case 0: b+;case 1: a+;case 2: a+;b+;printf(a=%d,b=%dn,a,b);A)a=2,b=1 B)a=1,b=1 C)a=1,b=0 D)a=2,b=210. 以下程序的输出结果是_C_。#include main() int a=12,b=5,c=-3;if(ab)if(b0) c=0;else c+;printf(%dn,c);A)0 B)1 C)-2 D)-311. 阅读以下程序:#include main() int x;scanf(%d,&x);if(
15、x-5)printf(%d,x);else printf(%d,x+);程序运行后,如果从键盘输入5,则输出结果是_B_。A)3 B)4 C)5 D)612. 两次运行下面的程序,如果从键盘上分别输入6和4,则输出的结果是_A_。#include main( )int x;scanf(%d,&x);if(x+5)printf(%d,x);else printf(%dn,x-);A)7和5 B)6和3 C)7和4 D)6和4第6章循环结构1.在while(x)语句中的x与下面条件表达式等价的是。DA)x=0 B)x=1 C)x!=1 D)x!=02.以下程序的输出结果是。D#include ma
16、in()int k,j,m;for (k=5;k=1;k-) m=0;for (j=k;j=5;j+)m=m+k*j;printf (%dn,m);A)124 B)25 C)36 D)153.以下程序的输出结果是。D#include main() int x=10,y=10,i;for (i=0;x8;y=+i)printf(%d %d,x-,y);A)10 1 9 2 B)9 8 7 6 C)10 9 9 0 D)10 10 9 14.以下程序的输出结果是。Aa=1;b=2;c=2;while(abc) t=a; a=b; b=t; c-;printf (%d,%d,%d,a,b,c);A)
17、1,2,0 B)2,1,0 C)1,2,1 D)2,1,15.以下for循环体的执行次数是。C#include main()int i,j;for(i=0,j=1; i=j+1; i+=2, j-)printf(%dn,i);A)3 B)2 C)1 D)06.有以下程序:#include main() int n=9;while(n6)n-;printf(%d,n);该程序段的输出结果是。BA)987 B)876 C)8765 D)98767.有以下程序段:Aint k=0;while(k=1)k+;while 循环执行的次数是。A)无限次 B)有语法错,不能执行C)一次也不执行 D)执行一次
18、8.以下程序中,while循环的循环次数是。D#include main() int i=0;while(i10) if(i1) continue;if(i=5) break;i+;A)1 B)10 C)6 D)死循环,不能确定次数9.以下程序的输出结果是。B#includemain() int i=0,a=0;while(i20) for(;) if(i%10)=0)break;elsei-;i+=11;a+=i;printf(%dn,a);A)21 B)32 C)33 D)1110.语句while(!E);中的条件!E等价于。AA)E=0 B)E!=1 C)E!=0 D)E11.以下的fo
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 基础知识 习题
限制150内