ImageVerifierCode 换一换
格式:DOCX , 页数:64 ,大小:69.50KB ,
资源ID:7581718      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7581718.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C程序习题集.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C程序习题集.docx

1、C程序习题集程序设计基础习题集1一、单项选择题1、一个C语言程序是由( )一个主程序和若干子程序组成 函数组成若干过程组成 若干子程序组成2、一个C程序的执行是从( )。本程序的main函数开始,到main函数结束本程序文件的第一个函数开始,到本程序文件的最后一个函数结束本程序的main函数开始,到本程序文件的最后一个函数结束本程序文件的第一个函数开始,到本程序main函数结束3、在C语言中(以16位PC机为例)5种基本数据类型的存储空间长度的排列顺序为( )charintlong int =floatdouble char=intlong int=floatdoublecharintlong

2、 int=float=double char=int=long int=floatdouble4、下面四个选项中,不合法的用户标识符是( )P_O ha2 goto _ab5、以下不正确的叙述是( )。在C程序中,逗号运算符的优先级最低 在C程序中,APH和aph是两个不同的变量 若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b的值不变当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值6、设c是字符变量,以下语句中错误的是( )。c=Y; c= ; c=Yes; c =x23;7、已知ch是字符型变量,下面不正确的赋值语句是( )。 ch=a+b

3、; ch=0; ch=7+9; ch=5+9;8、判断char型变量c1是否为小写字母的正确表达式是( )a=c1=a)&(c1=z) 98=c1 c1=a&c1=z9、下面的表达式正确的是( ) 5.0%2 ab- c int(5+0.1) b- 7810、表示图中坐标轴上阴影部分的正确表达式是( )x -1 0 1 3-1=x & 1=x|x=3 (x=-1)&(1=x|x=3)x=1&x=3 !(-1x3)11、已知字母A的ASCII码为65,以下程序段的输出结果是( ) char c1=A,c2=Y; printf(%d,%d,c1,c2); 65,90 A,Y 65,89 输出格式不

4、合法12、执行以下语句后b的值为( )。 int a = 5 , b = 6 , w = 1 , x =2 , y = 3 , z = 4 ; ( a = w x ) & ( b = y z ) ; 6 0 1 413、以下能正确地定义整型变量a,b和c并为其赋初值5的语句是( )。 int a=b=c=5; int a,b,c=5; int a=5,b=5,c=5; a=b=c=5;14、设变量a是整型,f是实型,i是双精度型,则表达式10+a+i*f值的数据类型为( )。 int float double 不确定15、以下程序的运行结果是 ( )main( ) int m = 5; if

5、( m + + 5) printf(“%dn”, m); else printf(“%dn”,m - - ); 4 5 6 716、为了避免在嵌套的条件语句 if - else 中产生二义性,C语言规定:else子句总是与( )配对。缩排位置相同的if 其之前最近的if 其之后最近的if 同一行上的 if17、以下不正确的语句是 ( )。if (x y ); if ( x = y) & ( x ! = 0) x + = y ;if (x ! = y) scanf (“ %d”,&x); else scanf(“%d”,&y );if ( x y) x + +; y + +;18、C语言中whi

6、le 与do - while语句的主要区别是 ( )do -while的循环体至少无条件执行一次do -while允许从外部转到循环体内do -while的循环体不能是复合语句while的循环控制条件比do-while的循环控制条件严格19、以下程序段( )x = -1 ;do x = x * x ; while ( !x ) ; 是死循环 循环执行两次 循环执行一次 有语法错误20、以下的for循环for ( x = 0 , y = 0 ; (y! = 123 ) & (x 4) ; x + + ) ;执行3次 执行4次 循环次数不定 是无限循环21、执行下面语句后,变量I的值是( )。 f

7、or(I=1;I+4;) ;3 4 5 不定22、设x和y均为int型变量,则执行下面循环后,y的值为( )。for( y=1,x=1;y 12 ? x + 10 : x 12; printf ( “ %dn ” , y); 0 22 12 1024、以下正确的函数定义形式是( )。double fun (int x, int y ) double fun (int x ;int y) double fun (int x, int y) ; double fun (int x,y) ;25、C语言允许函数值类型缺省定义,此时该函数值隐含的类型是( )。 float int long doubl

8、e26、以下对一维整型数组a的正确说明是( )。 int a (10) ; int n = 10 ,an ; int n ; #define SIZE 10scanf( “%d” ,&n); int a SIZE ;int a n ;27、若有说明:int a 10 ;则对a数组元素的正确引用是( )。 a 10 a3.5 a (5) a 10-1028、以下能对二维数组a进行正确初始化的语句是( )。 int a2 = 1,0,1 , 5,2,3; int a 3 = 1,2,3,4,5,6 ; int a24 = 1,2,3,4,5,6 ; int a 3 = 1,0,1 ,1,1 ;29

9、、对两个数组a 和b进行如下初始化: char a = “ABCDEF” ; char b = A,B,C,D,E,F ;则以下叙述正确的是( )。a与b数组完全相同 a与b长度相同 a和b中都存放字符串 a数组比b数组长度长30、有两个字符数组a、b,则以下正确的输入语句是( )。gets (a,b) ; scanf(“%s%s” ,a,b) ; scanf(“%s%s”,&a,&b) ; gets (“a”),gets (“b”) ;31、变量的指针,其含义是指该变量的( )。值 地址 名 一个标志32、若需要建立如图所示的存储结构,且已有说明float *p , m = 3.14 ;则正

10、确的赋值语句是( )。 p m p = m ; p = &m ; *p = m ; *p = &m ;33、下面程序段的运行结果是( )。char *s = “abcde” ;s + = 2 ; printf (“%d” ,s) ; cde 字符c 字符c的地址 无确定的输出结果34、若有以下定义,则对a数组元素地址的正确引用是( )。int a5 , *p = a ; p + 5 *a + 1 & a + 1 & a035、char a = “language” ,*p ; p = a ; while ( *p ! = u ) printf (“%c” ,*p 32) ; p+ + ; LA

11、NGUAGE language LANG langUAGE二、填空题1、设C语言中,一个int型数据在内存中占2个字节,则int型数据的取值范围为 。2、逗号表达式(a=3*5,a*4),a+15的值为 ,a的值为 。3、C程序中,每条语句都以 结尾 。4、数学表达式: 的C语言表达式为 : ;数学表达式: - 的C语言表达式为 : 。5、设x的值为15,n的值为2,则表达式x % = (n+=3)运算后x的值是 。6、利用条件运算符将这两条语句“if (ab) m=a; else m=b;”转换成与其等价的一条语句是: 。7、设y 为int型变量,请写出描述“y是奇数”的逻辑表达式 。8、若

12、a = 5,b = 2 , c = 1 ,则表达式a b c | b = = c的值是 。9、若有定义:int a34 = 1,2,0,4,6,8,10 ;则初始化后,a12得到的初值是 ,a21得到的初值是 。10、若自定义函数要求返回一个值,则应在该函数体中有一条 语句。三、判断题(正确的打“”,错误的打“”)1、若有常量定义:#define N 1 ,则语句:N+ ;是合法的C语句。 ( )2、实际上,可以用顺序,分支,循环三种结构构造任何算法 .( )3、有字符串常量ab123,则该字符串在内存中要占用5个字节的单元。( )4、goto语句可以构成循环。 ( )5、有数组:int a5

13、=1,2,3,4,5;则输出数组5个元素可用printf(”%d”,a5);( )。6、标识符AP与标识符ap在C语言中代表同一变量。 ( )7、若有变量定义:int a5,*p,I;则语句:for(I=1;I = a & ch = z ) ;printf ( “ %c ” , ch ) ; 2、下面程序的功能是打印100以内个位数为6且能被3整除的所有数。 #include main ( ) int i , j ;for ( i = 0 ; ; i + + ) j = i *10 + 6 ; if ( ) continue ; printf ( “ %d “ , j ) ; 3、输入三个数求

14、最大者。int max ( int x , int y ) ; if (x y) Max = y ; else Max = x ; return ( ); main( ) int a , b , c ,d ; scanf ( “%d , %d ,%d ” , &a ,&b , &c ) ; d = max ( a , ); printf (“ %d “, d ); 4、下面程序将二维数组a的行和列元素互换后存到另一个二维数组b中,分别输出数组a、b。main ( ) int a23 = 1,2,3,4,5,6 ; int b32 , i , j ; printf (“array a:n”) ;

15、 for ( i = 0 ; i = 1 ; i+) for ( j = 0 ; ; j+) printf (“%5d” , aij ) ; ; printf (“n”) ; printf (“array b:n”) ; for (i = 0; ; i+) for ( j = 0 ; j= 1; j+ ) printf (“%5d” ,bij ) ; printf (“n”) ; 五、仔细阅读如下程序,写出运行结果或其实现的功能main( ) int I; for(I=0 ; I b ? a : b ; return ( c ) ;main ( ) int a = 9 ; printf ( “

16、%d ” , max ( a , b ) ;运行结果: 1、3、 main( ) int i,max,a10;printf(input 10 numbers:n);for(i=0;i10;i+)scanf(%d,&ai);max=a0;for(i=1;imax) max=ai;printf(maxmum=%dn,max);该程序的功能是: 六、编程题1、由键盘输入3个整数a、b、c,然后按由小到大顺序输出。2、计算1!+2!+3!+ +10!的值。3、求数组:a23=1,2,3,4,5,6的转置(即数组a的行列互换后的元素值)。程序设计基础习题集2一、单选题1.在C语言中,合法的字符常数是(

17、)A)程序设计 B)“程序设计”C)c D)2.在C语言中,以下不正确的八进制或不正确的十六进制数是( )A)090 B)0xABC)0xla D)0163.执行int x2,y3;后表达式x(y3)的值是( )A)0 B)1C)2 D)34.在循环结构的循环体中执行break语句,其作用是( ) A) 结束本次循环,进行下次循环 B) 继续执行break语句之后的循环体中各语句 C) 跳出该循环体,提前结束循环 D) 终止程序运行5.以下程序运行结果是( ) main() char s=”Address”; printf(%dn”, strlen(s); A) 9 B) 10 C) 11 D

18、) 126.以下程序运行结果是( ) main() int a=2, 4, 6, 8, 10, y=1, x; for(x=0; x3; x+) y+=ax+1; printf(“%dn”, y); A) 17 B) 18 C) 19 D) 207.已定义char x8; int i;为了给x数组赋值,以下正确的语句是( ) A) x8=”Turbo C”; B) x=”Turbo C”; C) x=”Turbo C”; D) for(i=0; i B) % + += C) % += + D) + % +=11.以下不正确的描述是( ) A) 在函数外部定义的变量是全局变量 B) 在函数内部定

19、义的变量是局部变量 C) 函数的形参是局部变量 D) 局部变量不能与全局变量同名12.“文件包含”预处理语句的使用形式中,当#include后面的文件名用“”括起时,寻找被包含的文件的方式为( ) A) 直接按系统设定的标准方式搜索目录 B) 先在源程序所在目录搜索,再按系统设定的标准方式搜索 C) 仅仅搜索源程序所在的目录 D) 仅仅搜索当前目录13.C语言的简单数据类型包括( )A)整型、实型、逻辑型 B)整型、实型、字符型、逻辑型C)整型、字符型、逻辑型 D)整型、实型、字符型14.下列各变量均为整型,选项中不正确的C语言赋值语句是( )A)ii; B)i=j=k; C)i=j+=i;

20、D)i=j+1=k;15.数学关系式xyz可用C语言的表达式表示为( )A)(x=y)&(y=z) B)(x=y)and(y=z) C)(x=y=z) D)(x=y)&(y0) s += 1; if(ab) t= s + t;else if(a=b) t=5; else t=2*s;printf(“%dn”,t);A)a0并且ab B)a0并且a0并且ab D)a0并且ab17.下面程序的输出结果为( )main()int i; for(i=100;i200;i+) if(i%5=0) continue; printf(“%dn”,i); break;A)100 B)101 C)无限循环 D)

21、无输出结果18.下列程序段的运行结果是( )int i=1,a=1,5,10,9,13,7;while(ai=10) ai+=2;for (i=0;i6;i+) printf(“%d”,ai);A)2 7 12 11 13 9 B)1 7 12 11 13 7 C)1 7 12 11 13 9 D)1 7 12 9 13 719.以下语句把字符串“abcde”赋初值给字符数组,不正确的语句是( )A)char s=“abcde”; B)char s=a, b,c,d,e,0;C)char s=“abcde”; D)char s5= “abcde”;20.下面程序段的运行结果是( )int a2

22、3=1,2,3,i,j;for(i=0;i2;i+) for(j=0;jamax) amax=x; if(【2】) amin=x; scanf(“%f”,&x);printf(“namax=%fnamin=%fn”,amax,amin);2.Fibonacci数列中的头两个数是1和1,从第三个数开始,每个数等于前两个数之和。下述程序计算此数列的前20个数,且每行输出5个数,请填空。#include void main() int f,f1=1,f2=1; int i; printf(“%6d,%6d”,f1,f2); for (i=3;i=20;i+) f=【3】 printf(“%6d”,f

23、); if(【4】)printf(“n”); f1=f2; 【5】 3.下面程序的功能是将两个字符串连接起来,请填空。#include main() char s180,s240; int i=0,j=0; printf(“nInput string1:”);scanf(“%s”,s1);printf(“Input string2:”);scanf(“%s”,s2);while(s1i!=0)i+;while(s2j!=0) 【6】; 【7】=0; printf(“%sn”,s1); 4.计算1+1/2+1/4+1/50的值,并显示出来。 main() int i=2; float sum=1.0; while(i=【8】) sum+=1/【9】; i+=2;

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1