《C语言习题 经典 精华.doc》由会员分享,可在线阅读,更多相关《C语言习题 经典 精华.doc(7页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、C语言练习题仅作为C语言学习过程中复习使用,不作为其它用途。共40题,每题2.5分,选多选少选错均不计分。1 以下选项( B )是用于阐述一个算法的预备工具。(选择一项)A 程序(Programs)B 流程图(Flowcharts)C 循环(Loops)D 指令(Instructions)E 代码(Codes)2 在软件设计过程中,当一个流程图有数页之多时,就该用( C )标识跨页的流程。(选择一项) A 流程线B 分支符号C 连接符D 开始和结束框 3 在C语言中,下面选项(A D )是合法的变量名。(选择两项)A MinimumB 3rd_rowC n1+n2D DoublesE Firs
2、t.name4 在C语言中,下面选项( C )所列的用户标识符都是不合法。(选择一项)A A P_0 doB float la0_AC b-a goto intD _123 temp INT5 C语言中命名一个变量的规则包括( AD )。(选择两项)A 变量名必须以字母或下划线开头 B 变量的第一个字母必须是字母、数字或下划线C 变量名不区分大小写D 第一个字母后可以是字母、数字和下划线组成的序列6 在C语言中,为一个特定的数据分配内存时,我们必须做( A )。(选择一项)A 定义一个特定数据类型的变量B 定义一个值C 定义一个特定数据类型的指针D 以上都不是A7 在C语言中,int类型数据在
3、内存中占用( B )位。(选择一项)/4个字节,4*8(位)A 32B 16C 8D 648 在C语言中,15+80/2*10-12*2/3-10以上表达式的计算结果是( C )。(选择一项)A 298B 553C 397D5339 在C语言中,(10*(2-8)+10)/(5-5*2)上面的表达式计算结果为( B )。(选择一项)A -10B 10C 30D -3210 在C语言中,以下选项( C )能对给定数执行操作(选择一项)A 操作数(Operand)B 操作(Operations)C 运算符(Operators)D 以上都不对11 在C语言中,19+12在这里,19和12是( A )
4、,+是( )。(选择一项)A 操作数,操作符B 操作符,操作数C 变量,操作数D 操作,操作数12 在C语言中,假设有定义:int i;char c,*s;float f,g;则结果为整型的表达式有( BD )。(选择两项)A i+fB i*cC f*(int)gD *s-A+4813 int x=10,y=20,result; x+=20; result=x+y; printf (“result=%d”, result);以上程序段的输出结果是( B )。(选择一项)A result=30B result=50C result= 40D result=6014 在C语言中,要显示一个数(变量
5、i)的开平方,下面代码正确的是( B )。(选择一项)A printf(sqrt(t),”n Square of%d”,i)B printf(”n Square of%d is %f”,i, sqrt(i)C printf(sqrt(i), i,t,”n Square of%d is %d”)D printf(i,t,”n Square of%d”)E scanf(i,”n Square of%d is %d”, sqrt(i)15void main ( )char ch;ch=a+3;putchar(ch);上述C语言代码的输出是( D )。(选择一项)A aB 100C cD d16描述A
6、:8与8是相同的描述B:$的数据类型是char下面选项( D )描述正确的。(选择一项)A 两个描述都是正确的B 两个描述都是错误的 C 只有描述A是正确的D 只有描述B是正确的17void main()int a=100,X=10,y=20,ok1=5,ok2=0;if(xy) if(y!=10) if(!ok1)a=1;if(ok2)a=10;a=-1;printf(“%dn”,a);以上C程序的输出结果是( C )(选择一项)A 1B 0C 1D 值不确定18 在C语言中,有以下程序:void main() int i; for(i=0;i3;i+) switch(i) case 1:
7、printf(“%d”,i); case 2: printf(“%d”,i); default :printf(“%d”,i);执行后输出的结果是( A )。(选择一项)A B 012C 12020D 12019 在C语言中,下列关于条件语句的描述中,正确的是( AC )。(选择两项)A 当if语句嵌套使用的时候,最后一个else和最近的一个没有else匹配的if匹配B 一个if 可以有多个else与之匹配C 一个switch语句总是可以被一系列if else 语句替换D switch语句的测试表达式可以是任何类型E 当执行break语句时程序将停止执行20 在C语言中,在int num5=1
8、0,20,30,40,50中,num3的值是( C )。(选择一项)A 30B 50C 40D 1021 若有说明:int a10;则对a数组元素的正确引用是( BD )。(选择两项)A a10B a3+1C a(5)Da022 在C语言中,下面( ABD )函数是在库文件string.h中定义的。(选择三项)A strlen()B strcat()C strcon()D strcpy()E length()ABC23 下列( BCD )操作是C语言通过stdio.h文件提供的。(选择三项)A 读写磁盘文件B 读键盘输入 C 写监视器 D读写socket/winsock2.h24 #inclu
9、de void main()int a=97,c=65;printf(“a=%c,c=%cn”,a,c);以上程序的运行结果是( B )。(选择一项)A a=%a,c=%AB a=a,c=AC a=97,c=65D a=c,c=n25#include void main()double x,y;x=2;y=x+3/2;printf(“a=%f”,y);以上程序的运行结果是( D )。(选择一项)A 3.B 3C 2.D 3.26 研究下面C程序#includevoid main()int x;scanf(“%d”,&x);if(x-5)printf(“%d”,x);elseprinf(“%d”
10、,x);运行后,如果从键盘上输入5,则输出结果是( B )。(选择一项)A 3B 4C 5D 627#includevoid main()int i=0;for(;i5;i+)printf(“%d”,i+);上述C语言代码的输出是( C )(选择一项)A 0 1 2 3 4 5B 0 1 2 3 4C 0 2 4D 语法错误28 在C语言中,假设所有变量均为整形,则下列代码执行后C的值是( D )。a=2;b=5;b+;c=a+b;(选择一项)A 2B 6C 7D 829#include void main()int temp=10; printf(“%d”,temp+); temp+;pri
11、ntf(“%d”,temp)输出是( A )。(选择一项)A 10 12B 11 12C 10 11D 以上都不是BCE30 在C语言中,声明m,n为整型变量,p1,p2 为整型指针,下列语句不正确的是( BCD )。(选择三项)A p1=&m;B p2=n;C *p1=&n;D m=p2-p1;E p1=&p2;/ cannot convert from int * to int *31 在C语言中。以下( A )变量包含了另一个变量的地址。(请选择一项)A 指针B 数组C 字符串D 结构B32 在C语言中,有以下程序:void main() int x8=8,7,6,5,0,0,*ss=x+3;printf(“%dn”,s2);/s0=5, 8 7 6 5-5 0 0执行后输出的结果是( A )。(选择一项)A 随机值B 0C 5D 633 仔细阅读下面的C语言代码:void main()int var1=3,var2=4,*ptr; ptr=&var1; var2=*ptr;变量var2的最后的值是( A )。(选择一项)A 3B 34C 4D var1在内存中的地址34 在C语言中,若有以下定义:int a5,*p=a;,且0=k100)break;B for( ; ; );C int k=0;do+k;while(k=0);D int s=36;while(s);