




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、学习 - 好资料目录目录1单元练习题一 C 语言基础知识 .3一、判断题 .3二、单项选择题 .4三、读程序选择题 .7四、程序填空题 .8五、编程题 .错误!未定义书签。单元练习题二 C 语言程序结构 .9一、判断题 .9二、单项选择题 .9三、读程序选择题 .错误!未定义书签。四、程序填空题 .17五、编程题 .错误!未定义书签。单元练习题三 数组 .21一、判断题 .21二、单项选择题 .22三、读程序选择题 .错误!未定义书签。四、程序填空题 .28五、编程题 .错误!未定义书签。单元练习题四 函数 .33一、判断题 .33二、单项选择题 .34三、读程序选择题 .40四、程序填空题
2、.错误!未定义书签。五、编程题 .错误!未定义书签。单元练习题五 预处理 .错误!未定义书签。一、判断题 .错误!未定义书签。二、单项选择题 .错误!未定义书签。三、读程序选择题 .错误!未定义书签。四、程序填空题 .错误!未定义书签。五、编程题 .错误!未定义书签。单元练习题六 指针 .45一、判断题 .45二、单项选择题 .46三、读程序选择题 .错误!未定义书签。四、程序填空题 .54更多精品文档学习 - 好资料五、编程题错误!未定义书签。单元练习题七结构体与共用体58一、判断题58二、单项选择题60三、读程序选择题错误!未定义书签。四、程序填空题68五、编程题错误!未定义书签。单元练习
3、题八文件73一、判断题73二、单项选择题74三、读程序选择题77四、程序填空题77五、编程题错误!未定义书签。更多精品文档学习 - 好资料第一章 C 语言基础知识( C语言概述、算法、数据类型运算符 表达式、位运算)一、判断题 ( 正确的填 A,错误的填 B)R1在 C 语言中,逗号运算符的优先级最低。 (A)2在语言可执行程序的开始执行点是程序中第一个函数。( B)3“5ch”是合法的变量名。 (B)4C 语言程序书写格式自由,一行内可以写几个语句,一个语句可以分写在多行上。(A)5 当输入数据时,必须指明变量的地址,如scanf(%f,&f)(A)N6表达式 i+ 与+i 在任何场合功能完
4、全相同。 (B)7在赋值表达式中,赋值号左边的变量和右边的表达式之值的数据类型可以不相同。(A)R8.C 语言程序中,语句以逗号结尾。 ( B)9. 在 C 程序中, APH 和 aph 代表不同的变量。 ( A )10. a-=7 等价于 a=a-7。 ( A )N11. printf函数中用到格式符 %5s , 其中数字 5 表示输出的字符串占用5 列。如果字符串长度大于5, 则输出按原字符长从左向右全部输出。(A)12. 如果 xy 为真或 ay)& (ab)就为真。( B)13.C 语言程序的变量必须先定义再使用。( A )14. 若 a 和 b 是同类型变量,在执行了赋值语句a=b;
5、后 b 中的值将放入 a 中, b中的值将丢失。 ( B)15. 程序的执行总是从 main 函数开始,在程序的最后一个函数中结束。 (B )16. 变量的三个属性是指变量的名字、变量的值和变量在内存中的地址。 (A)17. 运算符优先顺序:赋值运算符 逻辑运算符 关系运算符 算术运算符( B)18. 对应 float 类型的变量,也可以用等号“ =”进行数值的判断。 ( B)19. 表达式: 1 & 3.14和 1 & 3的值一样大。( B)20. 为了正确计算表达式既要考虑运算符的优先级,也要考虑其结合性。 (A)21、任何 C 程序都是从 main 函数开始和结束; (A)22. 在 C
6、 程序中,使用分号“; ”表示语句的结束。 (A )23. C 程序中的必须要有至少一个 main 的函数,可以有多个。( B )24. 在 C 程序中,无论是整数还是实数,都能准确无误的表示。 ( B )25. 在 C 程序中,赋值运算符的优先级最低。 (B )26. 当输入数值数据时, 对于整型变量只能输入整型值; 对于实型变量只能输入实型值。( B )27. 在 C 程序中,变量可以一边定义一边使用。 ( B )28. C 程序中的注释部分可有可无,可以省略。 ( A )更多精品文档学习 - 好资料29. 字符型变量可以存放多个字符。 ( B )30. 在对一个 C 程序进行编译的过程中
7、 , 可发现注释中的拼写错误。 ( B )5. 在 C 程序中 , 无论是整数还是实数 , 都能被准确无误地表示。 (B )1. 一个 C 程序的执行是从本程序的 main 函数开始 , 到 main 函数结束。(A)3. ()4. 运算符优先顺序:赋值运算符 逻辑运算符 关系运算符 =y)&(y=z)B) (x=y)AND(y=z)C) (x=y=z)D) (x=y)&(y=z)13. 不合法的八进制数是 _A) 0B) 028C) 077D)0114、以下不能定义为用户标识符是A MainB _0C _intD sizeof15. 若 x=5,y=4 则 y*=x+5 ; y 的值为()。
8、A. 40B. 20CB. 15D. 3016、组成 C 语言程序的基本单位是()。A) 过程B)子程序C) 函数D)主程序和子程序17下列哪个标识符是C 语言合法的标识符()。A) a*bB) -xyzC) ba2D) 5iN18 若 有 定 义 : inta=7;floatx=2.5,y=4.7;则 表 达 式x+a%3*(int)(x+y)/4的值是()。A) 2.75B) 3.5C) 2.5D) 019. 设 int m=1,n=2 ;则 +m= =n的结果是()A、0B、1C、2D、3N20.若变量已定义并赋值,下列符合C 语法的表达式是:()A、a:=b+1B、 a=b=c+2C、
9、int 18.5%3D、 a=a+7=c+bR(3)在 C 程序中,设一表达式中包含有int,long,unsigned 和 char 类型的变量和数据,则表达式最后的运算结果类型是()A.intB.charC.unsignedD.longR21 C语言中基本的数据类型包括_。A)整型、实型、逻辑型B)整型、实型、字符型C)整型、字符型、逻辑型D)整型、实型、逻辑型、字符型更多精品文档学习 - 好资料N22. 若定义 x 和 y 为 double 类型,则表达式: x=2,y=x+5/2 的值是 _A) 4B) 4.5C) 4.0D) 3.023. 在以下运算符中,优先级最高的运算符是 _A)
10、? :B)+C)&D)+=24.C 语言中基本的数据类型不包括_。A)整型B)字符串型C)字符型D)实型25.若定义 int x=7,y=5, z; 则表达式: z=x+5/2*y 的值是 _A) 7B) 7.5C) 17D) 19.56. 以下说法中正确的是( )A、C语言程序总是从第一个定义的函数开始执行B 、在 C 语言程序中,要调用的函数必须在 main() 函数中定义C 、C语言程序总是从 main() 函数开始执行D、C语言程序中的 main() 函数必须放在程序的开始部分( 1)设 int a=2,b;则执行 b=a&1;语句后, b 的结果是 ()A.0B.1C.2D.3N(2
11、)逗号表达式 (a=3*5,a*4),a+15的值是 ()A.15B.60C.30D.757. 若已经定义了一个字符型变量为 a,下面哪个表达式的含义跟其余表达式不同:A) a!=0B) a!=0 C) aD) !a8. 在以下运算符中,优先级最高的运算符是 _A),B)C)&D)+=9. 在 C 语言中,逻辑值“真”用 _表示。A) trueB)大于 0 的数C) 非 0 的整数D) 非 0 的数10. 表达式 _是满足:当 c 的值为 1、3、5 三个数中任意一个时值为 “真”,否则值为“假”的表达式A) (c=1)|(c=3)|(c=5)B) (c!=1)&(c!=3)&(c!=5)C)
12、 (c=1)&(c=3)&(c=5)D) (c=1)|(c=3)|(c=5)1.C 语言中, int类型数据占 2 个字节,则 long 类型数据占()A、1 个字节B、2 个字节C、3 个字节D、4 个字节1. 下列字符串是合法的标识符的是 ( ) 。A、_HJB、9_studentC、 longD、LINE 1更多精品文档学习 - 好资料2. 下列说法中正确的是 ( ) 。A、 C 程序书写时,不区分大小写字母B、 C 程序书写时,一行只能写一个语句C、 C 程序书写时,一个语句可分成几行书写D、 C 程序书写时每行必须有行号3. 在 C 语言中,要求参加运算的数必须是整数的运算符是( )
13、。A、/B、!C、%D、=4.C 语言中,逻辑“真“等价于( )。A、大于零的数B、大于零的整数C、非零的数D、非零的整数6. 假设在程序中 a,b,c 均被定义为整型,并且已赋大于 1 的值,则下列能正确表示代数式 1/abc 的表达式是 ( ) 。A、1/a*b*cB、1/(a*b*c)C、 1/a/b/(float) cD 、1.0/a/b/c1.下列合法的字符常量是()。A、084B、x43C 、abD 、02.在 C 语言提供的合法的关键字是()A、switchB 、cherC、CaseD、sturct3.若已定义 x 和 y 为 double 类型 , 则表达式: x=1,y=x+
14、3/2 的值是A、 2B、 1C、 2.0D、2.5三、程序填空题1 以下程序不用第三个变量实现两个数对调的操作。#includ“stdio.h ”main()int a,b;scanf(%d,%d,&a,&b);a=;( 三个字符 )b=;( 三个字符 )a= a-b;printf(%d,%d,a,b);2、选择程序的运行结果。main ( ) int x=1, y=2, z, a, b, c, d;更多精品文档学习 - 好资料z = +x|+y;printf(x=%dn, x);printf(y=%dn, y); /*输出结果 ( 三个字符 ) */a=-1;b=-2;c=+a&b+;pr
15、intf(b=%dn, b); /*输出结果 ( 三个字符 )*/3 以下程序的结果为 _main()unsigned int a=3, b=10;printf(%dn,a1); /*输出结果 */printf(%dn,a1); /*输出结果 */4 若 x=3,y=z=4 ,则下列表达式的值是。(1)(z=y=x)? 1:0/* 值为 */(2)z=y&y=x/* 值为 */5 已知 float x=4.3 , int y;执行语句 y=(int ) x 后, x 为型(填写小写英文字母),且 y=( 填写阿拉伯数字 );6 表达式 c&d的值为 ( 填写阿拉伯数字 ) ,c&d|!(3+4
16、) 的值为 ( 填写阿拉伯数字 ) 。7 若 x 为 int 类型,则与逻辑表达式“ x”等价的表达式是 , 与逻辑表达式“! x”等价的表达式是 。8 表示“整数 x 的值大于 5”时逻辑值为 “真”的表达式是 5,逻辑值为 “假”的表达式是 x9 已知字母 A 的 ASCII 码为十进制数65,且设 ch A - 4 + 9的值为 ( 一个字符常量则变量 c 中包含的字符个数为 (数字)。10、C语言所提供的基本数据类型的整型类型包括:(按每种类型所占字节数,从小到大排列)为字符型变量,则表达式 ch= ) ;若定义: char c= 72 ;、整型、 。更多精品文档学习 - 好资料第二章
17、 C 语言程序结构(顺序程序设计、选择结构程序设计、循环控制)一、判断题 ( 正确的填 A,错误的填 B)1 do-while语句中的条件为非0 时,就结束该循环。( B)2. 在 switch-case语句中,不是每个case 后都要使用 break 语句。( A)3.Break 语句只能用于循环结构中。 ( B)48. 未给变量赋初值,只是运行结果不正确,不会有其他不良影响。 (B)5、switch 语句中,可以不使用 break 语句;(A)6、for 语句中,三个表达式都可以省略; (A)7(7)在 for 循环中使用 break 语句的目的是使流程跳出循环体, 终止当前循环( A)8
18、. continue 语句只能用于循环语句中。 ( A )9 while语句中的条件为0 时,就结束该循环。( A)10. 在循环体内使用 break 语句或 continue 语句的作用相同。(B)在 C 语言中,逻辑值“真”用 表示。11) 112)大于 0的数13) 非 0 的整数 14)非 0的数在循环语句的循环体中, continue 语句的作用是()。15)立即终止整个循环16)继续执行 continue 语句之后的循环体17)结束本次循环18)结束本次循环并跳出循环语句 while(!e);中,条件 !e等价于 ()19.e=020 .e!=021.e!=122.e=1设 int
19、 c=5 和 int a; a=2+(c+=c+,c+8,+c),则 a=_23) 1524) 1425) 1326) 16若要表示 if(a 不等于 0 ) 这一关系式,则能正确表示这一关系的表达式为 if ( )27) a028) !a29) a=030) a二、单项选择题N1、以下不是死循环的语句是_。更多精品文档学习 - 好资料for( ; ; x+i );while (1) x+;for( i=10; ; i- -) sum+= i ;for( ; (c=getchar() != n ; ) printf(“ %c” , c) ;2设有程序段int k = 10 ;while ( k
20、 = 0 ) k = k - 1 ;以下描述正确的是( )。A. 循环体语句一次也不执行。B. 循环是无限循环。C. while循环语句执行十次。D. 循环体语句执行一次。3对下述程序,正确的判断是()。main( ) int a,b;scanf (%d,%d,&a,&b);if(ab)a=b; b=a;else a+; b+;printf(%d,%d,a,b);A. 有语法错误不能通过编译B.若输入 4, 5 则输出 5, 6C. 若输入 5,4 则输出 4, 5D.若输入 5,4 则输出 5,5R4 以下程序main()int i=010,j=10,k=0x10;printf(%d,%d,
21、%dn,i,j,k); 有语法错误不能通过编译输出结果是 ( )A.8 , 10,16B.8, 10,10C.10, 10,10D.10,10,16R5. 若变量已正确说明为int类型,要给a,b,c输入数据,以下语句正确的是_A) read(a,b,c);B) scanf(“%d%d%d”,a,b,c);C) scanf(“ %D%D%D”,&a,%b,%c);D) scanf(“ %d%d%d”,&a,&b,&c);R6.已知在ASCII 字符集中,数字0 的序号为48,下面程序的输出结果为_。main()char x,y;x= 0 ;y= 9 ;pirntf(“%d,%dn” ,x,y)
22、;A)因输出格式不合法,输出错误信息B)48,57C)0,9D)48,587. 语句 for (k=0;k=y=z,应使用 C语言表达式 _。A)(y=z)B)(x=y)AND(y=z)C)(x=y=z)D)(x=y)&(y=z)6.若变量已正确定义,语句“if(ab) k=0; else k=1;”和 _等价。A、 k=(ab)?1:0;B、 k=ab;C、 k=a=b;D、a=b ? 0 : 1;9. 以下程序的输出结果是 _void main()int a = 2,b = 5;printf(A) a=%2,b=%5B) a=2,b=5C) a=%d,b=%dD) a=%d,b=%dN10
23、.以下程序的输出结果是 _void main() int x=10,y=10;printf(“%d %dn” ,x-,-y);A) 10 10B)9 9C)9 10D)10 911. 若要表示 if( a 不等于 0 ) 这一关系式,则能正确表示这一关系的表达式为if (_)A) a0B) !aC) a=0D) aR12对于循环语句 while (1);下面()是正确的A、死循环B、循环一次C 、不进入循环体D、编译有错13. 下面程序的输出是(假设 int 数据是 2 个字节)void main() int a = 32768;printf(“a=%dn”,a);更多精品文档学习 - 好资料
24、A) a=32768B) a=32767C) a=-32768D) a=-114. 表达式 _是满足:当 c 的值为 1、3、5 三个数中任意一个时值为 “真”,否则值为“假”的表达式A) (c=1)|(c=3)|(c=5)B) (c!=1)&(c!=3)&(c!=5)C) (c=1)&(c=3)&(c=5)D) (c=1)|(c=3)|(c=5)N15. 以下程序段的输出结果是_int x=3;do printf(%3d,x-=2;while (!(-x);A)1B)30C) 1 -2D)死循环16、数字字符 0 的 ASCII 值为 48, 若有以下程序main()char a=1,b=2
25、;printf(%c,b+);printf(%dn,b-a);程序运行后的输出结果是A 3,2B 50,2C 2,2D 2,5017、有以下程序main()int a,b,d=25;a = d/10 & (-1);b = a & (-1);printf(%d,%dn,a,b);程序运行后的输出结果是A 6,1B 2,1C 6,0D 2,018若定义 floata;现要从键盘输入a 的数据,其整数位为3 位,小数位为 2位,则选用()。A) scanf(%f,&a);B) scanf(%5.2f,a);C) scanf(%6.2f,&a);D) scanf(%f,a);19若定义 inti;则以
26、下循环语句的循环执行次数是()。for(i=2; i=0;)printf(%d, i-);A) 无限次B)0次C)1 次D)2 次20下面程序段 _x=3;do更多精品文档学习 - 好资料y=x-;if(!y)printf(x);continue;printf(#);while(1=x=2);A)将输出 #B)将输出 #*C)是死循环D)含有不合法的控制表达式21. 以下程序中, while 循环的循环次数是 ( ) 。 #include “stdio.h ”main( ) int i=0; while(i10) if(i5) printf(%d ,x);else printf( %dn ,x
27、-1);A.7和5B.6和3C.7和4D.6和4( 6)语句 while(!e);中,条件 !e 等价于 ()A.e=0B.e!=0C.e!=1D.e=0R25下面程序的输出是 _main()int k=11;printf(k=%d,k=%o,k=%xn,k,k,k);A) k=11,k=12,k=13B) k=11,k=13,k=13C) k=11,k=013,k=oXbD) k=11,k=13,k=b26(7)下面程序的运行结果是()main()int i=1,sum=0;lop:sum=sum+i ;i=i+2;if(i6)goto lop;printf (sum=%dn,sum);A.
28、sum=4B.sum=9C.sum=16D.sum=2527. 以下程序的输出结果是 _void main()int a = 2,b = 5;printf(“a=%d,b=%d”,a,b);更多精品文档学习 - 好资料A) a=%2,b=%5B) a=2,b=5C) a=%d,b=%dD) a=%d,b=%d28 执行下面的程序后, a 的值为 _main() int a,b;for (a=1,b=1;a=20) break;if (b%3=1) b+=3; continue; b-=5;A) 7B) 8C) 9D) 102930. 下面的程序会()main() int x=3,y=0,z=0
29、;if(x=y+z) printf(“* ”);else printf(“ #” );A、有语法错误不能通过编译B、输出C、可以通过编译,但不能通过连接,因而不能运行D、输出4. 以下程序的输出结果是( ) main() int x=10,y=10,i; for(i=0;x8;y=+i)printf(“%d %d” ,x-,y);A、10192B、9876C、10990D、1010911. 下面程序的输出是 _main()更多精品文档学习 - 好资料int k=11;printf(k=%d,k=%o,k=%xn,k,k,k);A) k=11,k=12,k=13B) k=11,k=13,k=13
30、C) k=11,k=013,k=oXbD) k=11,k=13,k=b2. 两次运行下面的程序,如果从键盘上分别输入6 和 4,则输出结果是 _main()int x;scanf(%d,&x);if (x+5) printf(%d,x)else printf(%dn,x-);A)7 和5B)6和3C)7 和4D)6和43. 读程序#include ” stdio.h”main() int a; float b,c; scanf(%2d%3f%4f,&a,&b,&c); printf(na=%d,b=%f,c=%fn,a,b,c);若运行时从键盘上输入 9876543210(表示回车 ) ,则上
31、面程序的输出结果是 _A) a=98,b=765,c=4321B) a=1,b=432,c=8765C) a=98,b=765.000000,c=4321.000000D) a=98,b=765.0,c=4321.05. 下面程序的输出是 _main()int x=3,y=6,a=0; while (x+!=(y-=1)a+=1;if (yx) break;printf(x=%d,y=%d,a=%dn,x,y,a);A) x=4,y=4,a=1B) x=5,y=5,a=1C) x=5,y=4,a=3D) x=5,y=4,a=.更多精品文档学习 - 好资料三、程序填空题F1. 以
32、下程序可判断输入的一个整数是否能被 3 或 7 整除,若能整除,输出“yes”,否则输出“ no”。请填空。#include“stdio.h”void main()int k;printf(“Enter a int number:” );scanf(“%d” ,);if()printf(“ yesn ”);elseprintf(“ non ” );N2.下面程序的功能是计算1-3+5-7+-99+101 的值。main()inti,t=1,s=0;for(i=1;i=101 ;i+=2)t=;s=s+t;t=;printf(%dn,s);F3. 下面程序的功能是从键盘上输入若干学生的学习成绩,
33、统计并输出最高成绩和最低成绩,当输入为负数时结束输入。main()floatx,amax,amin ;scanf(%f,&x);amax=x;amin=x;while(=0)if(xamax)amax=x;if(x)amin=x;scanf(%f,&x);更多精品文档学习 - 好资料printf(namax=%fnamin=%fn,amax,amin);F4. 下面程序的功能是计算100 至 1000 之间有多少个数其各位数字之和是5。#include“ stdio.h”void main()int i,s,k,count=0;for(i=100;i=1000;i+)s=0;k=i;while
34、(k)s=s+k%10;k=;if()count+;printf(“%d”,count);F5 下列程序功能是求数组中主对角线元素之和,请补充完成main() int a33,i,j,s=0; for( i=0;i3;i+ ) for( j=0;j3;j+)scanf(%d,); for(i=0;i3;i+)for( j=0;j3;j+)if()s+=aij;printf(s=%dn,s);R6. 下面程序的功能是:输入一个字符,如果它是一个大写字母,则把它变成小写字母,如果它是一个小写字母,则把它变成大写字母,其它字符不变,请将程序补充完整:main()更多精品文档学习 - 好资料char ch;scanf( “%c” ,&ch);if (ch= A & ch = Z) ch=ch+32;else if (=a & ch ); printf( “ %c”,ch);R7. 请将用户输入的 x,y,z 三个整数按照从小
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025婚纱摄影工作室合作合同范本
- 2025水果销售居间合同
- 2025工程采购合同范本
- 2025聘请家庭保姆合同范本
- 2025写字楼租赁合同书范文
- 2025年进出口贸易合同范本
- 2025成都市土地流转合同
- 8.1《薪火相传的传统美德》教案 2024-2025学年统编版道德与法治七年级下册
- 《电子书下载流程》课件
- 《胃癌内科治疗》课件
- GB/T 34949-2017实时数据库C语言接口规范
- GB/T 3452.1-2005液压气动用O形橡胶密封圈第1部分:尺寸系列及公差
- GB/T 23641-2018电气用纤维增强不饱和聚酯模塑料(SMC/BMC)
- 2023年国际焊接工程师考试IWE结构试题
- 精华版-赵武灵王胡服骑射课件
- 高等学校英语应用能力考试〔B级〕真题及答案
- 高三(5)高考冲刺家长会课件
- 顶板安全管理知识
- 《新能源汽车转向系统》课件
- 报关委托书 电子版
- 高中音乐人教版高一全一册音乐-《芬兰颂》详案
评论
0/150
提交评论