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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

C语言程序设计练习题_201215140new.doc

1、1C 语言程序设计练习题一、单项选择题1. 在 VC 环境中,源程序文件的扩展名为( D ) 。A. *.txt B. *.cpp C. *.obj D. *.exe2. 下列说法错误的是( D ) 。A. 主函数可以分为两个部分:函数首部和函数体B. 主函数可以调用任何非主函数的其他函数C. 任何非主函数可以调用其他任何非主函数D. 程序可以从任何非主函数开始执行3. 以下叙述正确的是( B ) 。A. C 语言中每一行只能写一个语句 B. C 语言中没有输入输出语句,数据的输入输出使用函数完成C. C 语言源程序经过编译就可以生成 EXE 文件D. C 语言中的每一条语句以换行符作为结束标

2、志4. 设变量 a 是整型,f 是浮点型,则表达式 a+f 值的数据类型为( B ) 。A. int B. float C. char D. 不确定5. 若有定义“int a;” ,变量 a 在内存中占 4 个字节,则 unsigned int a 的取值范围为( D ) 。A. 032767 B. 02147483647 C. 04294967295 D. 0655356. 下列选项中不是 C 语言提供的合法保留字的是( B ) 。A. switch B. cher C. case D. default7. 设“int a=2,b;” ,则计算表达式“b=afloat y;scanf(“%3

3、d%f“, A. 12.000000 B. 345.000000 C. 12345.000000 D. 0.00000011. 在 C 语言中,下列说法中正确的是( C ) 。A. 不能使用“do 语句 while(条件)”实现循环B. “do 语句 while(条件)”的循环必须使用“break”语句退出循环C. “do 语句 while(条件)”的循环中,当条件为非 0 时将结束循环D. “do 语句 while(条件)”的循环中,当条件为 0 时将结束循环12. C 语言程序的 3 种基本结构是( A )结构、选择结构和循环结构。A. 顺序 B. 递归 C. 转移 D. 嵌套213. 若

4、有定义“int x, y;” ,则下面选项中合法的 if 语句是( A ) 。A. if(a=b) x+; B. if(a=b) x+; D. if(a=b) x+;14. 下面程序段int k=2;while(k=0)printf(“%d“, k); k-;则下面描述中正确的是( C ) 。A. while 循环执行两次 B. 循环式无限循环C. 循环体语句一次也不执行 D. 循环体语句执行一次15. 从循环体内某一层跳出,继续执行循环体外的语句是:( A ) 。A. break 语句 B. return 语句 C. continue 语句 D. 空语句16. 表达式“9!=7”的值是( C

5、 ) 。A. ture B. 非 0 值 C. 0 D. 117. 下面 for 语句的循环次数是( B ) 。int i, x;for(i=0, x=0; i2;s+);39. C 语言对嵌套 if 语句的规定是:else 总是与( )。A. 之前最近的 if 配对 B. 第一个 if 配对C. 缩进位置相同的 if 配对 D. 之前最近的且尚未配对的 if 配对40. 语句“while(!E);”括号中的表达式!E 等价于( )。A. E=0 B. E!=1 C. E!=0 D. E=141. C 语言中的标识符只能由字母、数字、下划线 3 种字符构成,且第一个字符( )。A. 必须是字母

6、或下划线 B. 必须是下划线C. 可以是字母、数字、下划线中的任意字符 D. 必须是字母42. 表达式“a=(a=6,a*6,a+3)”计算后,a 的值是( )。A. 39 B. 36 C. 6 D. 943. 下列数据中属于字符串常量的是( )。A. ABC B. “ABC“ C. abc D. a44. 字符串“ABC“的长度是( )。A. 11 B. 7 C. 5 D. 345. 假设 int 类型变量占用 4 字节,且有语句“int x10=0,2,4;”,则数组 x 在内存中所占字节数是( )。A. 3 B. 12 C. 4 D. 4046. 以下数组定义中不正确的是( )。A. i

7、nt a23; B. int b3=0,1,2,3;C. int c100100; D. int d3=1,2,1,2,3,1,2,3,4;47. 有以下定义,其中不能给数组 a 输入字符串语句的是( )。#include char a10,*b=a;A. gets(a); B. gets(a0);C. gets( D. gets(b);48. 以下程序段中错误的是( )。A. char s10=“abcdefg“; B. char t=“abcdefg“,*s=t;C. char s10;s=“abcdefg“; D. char s10;strcpy(s,“abcdefg“);49. 以下程

8、序段的输出结果是( )。char s12=“a book!“;printf(“%s“,s+2);A. a book! B. a boC. book! D. 因格式描述不正确,无输出50. 有定义“char s12=“string“;” ,则“printf(“%d“,strlen(s);”的输出结果是( )。5A. 6 B. 7 C. 11 D. 1251. 有定义“int a23;” ,则该二维数组的元素个数是( )。A. 3 B. 4 C. 5 D. 652. 有定义“int a3=1,2,3,4,5,6;” ,则该二维数组的第一维长度是( )。A. 2 B. 3 C. 4 D. 无法确定5

9、3. 在调用函数时,如果实参是简单变量,则它与对应形参之间的数据传递方式是( )。A. 地址传递 B. 单向值传递C. 不能确定 D. 由用户确定54. 在调用函数时,如果实参是数组名,则它向形参传递的是( )。A. 数组长度 B. 数组所有元素的地址C. 数组首地址 D. 数组所有元素的值55. 以下叙述中正确的是( )。A. 全局变量的作用域可能比局部变量的作用域大B. 静态变量的生存期贯穿于整个程序运行期间C. 函数的形参都属于全局变量D. 未在定义语句中赋初值的 auto 变量和 static 变量的初值都是随机的56. 若已定义的函数有返回值,以下叙述中错误的是( )。A. 函数调用

10、可以作为独立的语句存在B. 函数调用可以作为另一个函数的实参C. 函数调用可以出现在表达式中D. 函数调用可以作为一个函数的形参57. 一个 C 语言程序由函数 A、B、C、P 构成,在函数 A 中分别调用了函数 B 和函数 C,在函数 B中调用了函数 A,且在函数 P 中也调用了函数 A,则可以说( )。A. 函数 B 是函数 A 的间接递归调用B. 函数 A 是函数 B 的间接递归调用C. 函数 P 直接递归调用了函数 AD. 函数 C 调用的是函数 P 的嵌套58. 下列对 C 语言函数的描述中,正确的是( )。A. 调用函数时,只能把实参的值传递给形参,反之不能B. 函数既可嵌套定义又

11、可嵌套调用C. 函数必须有返回值,否则不能使用函数D. 有调用关系的所有函数必须放在同一个源程序文件中59. 有一个名为 newpr 的函数用于打印三角函数的曲线,其形参就是这些函数名,则 newpr 函数的原型是( )。A. double newpr(double x)B. void newpr(double (*f)(double x)C. void newpr(double (*f)(),double x)D. void (*newpr)(double f(double x)60. 函数“func(int a)printf(“%d“,a);return 0;“的返回值类型是( )。A.

12、int B. void C. 没有返回值 D. 无法确定61.程序运行输出错误的结果,可以排除下列哪一个因素( )。A、算法错误 B、运行时输入数据错误 C、未通过编译 D、系统资源配置不当62.“E2“是( )。A、值为 100 的实型常数 B、值为 100 的整型常数 C、不合法的标识符 D、合法的标识符663、逻辑运算符中,运算优先级按从高到低依次为( )。A、 B、scanf(“%d%c“,a,c);C、scanf(“%d%c“, D、 scanf(“d=%d,c=%c“,65. 下列各语句序列判别变量 x、y 的大小,若 x7)n-;printf(“%dn“,n);A、10 B、9

13、C、10 D、99 8 9 88 780如果一个函数中没有 return 语句,那么( ) 。A、该函数没有返回值 B、该函数返回一个不确定的值C、返回1 D、程序会出错81.C 语言程序的三种基本结构是顺序结构、 ( )结构和循环结构。A、选择 B、递归 C、转移 D、嵌套82.下列变量名中合法的变量是( ) 。A、ac B、INT C、3dc D、a$83.在 C 程序中用关键字( )定义短整型常量。A、short B、float C、double D、char84.十进制数 16 的十六进制形式是( )。A、11 B、12 C、13 D、1085.若变量已正确定义,( )是合法的 C 语

14、句。A、a=1,b=2 B、a=1=b; C、a=b=5; D、y=;86.若变量已正确定义并赋值,符合 C 语言语法的表达式是( )。A、a=3,5; B、a+=1 C、a=a+1=3 D、12.3%487.a 是单精度实型变量,c 是基本整型变量,以下正确的输入语句是( )。A、scanf(“%f%d”,a,c); B、scanf(“%f%d”,C、scanf(“%f%f”, D、scanf(“%d%f”,88.在 C 程序中用( )表示逻辑值“真” 。A、ture B、非 0 数 C、非 0 整数 D、大于 0 的数89.假设有说明语句 char a=n,则变量 a( )。A、包含一个字

15、符 B、包含二个字符C、包含三个字符 D、说明不合法90. C 语言程序由( )组成。A、子程序 B、过程 C、函数 D、主程序和子程序91.下列语句定义 pd 为指向 int 类型变量 d 的指针,( )是正确的。A、int d,*pd= B、int *pd=C、float d,*pd= D、float *pd=92.若变量已正确定义并且指针 p 已经指向变量 x,则 B、int a4=1,2,3,4,5C、int a4=1,2,3 D、int a4=194.数组定义为 int a32=1,2,3,4,5,6,数组元素( )的值是为 6。A、a32 B、a21 C、a12 D、a23895不

16、正确的字符串赋值或赋初值的方式是( ) 。A、char str=”string”; B、char str7=s,t,r,i,n,g;C、char str10;str=”string”; D、char str7=s,t,r,i,n,g,0;96.要调用数学函数时,在#include 命令行中应包括( ) 。A、 ”stdio.h” B、 ”string.h”C、 ”math.h” D、 ”ctype.h”97.若变量已正确定义,表达式(j=1,+j)的值是( ) 。A、1 B、2 C、3 D、098.若 x 是单精度实型变量,表达式(x=10/4)的值是( ) 。A、2.5 B、2.0 C、3

17、D、299.为写而打开文本文件 aa.dat 的正确语句是( ) 。A、fp=fopen(“aa.dat”,”rb”); B、fp=fopen(“aa.dat”,”w”);C、fp=fopen(“aa.dat”,”wb”); D、fp=fopen(“aa.dat”,”r”);100.下列运算符中优先级最低的是( ) 。A、=和和b!=c 的值为 。3. 能表示“20b)?a:b)c)?y:c 的值为 。25.整型变量 x 值为 127,语句 printf(“x=%o“,x)的输出结果为 。26.整型变量 a、b 的值分别为 7、15,语句 printf(“%d+%d=%d“,a,b,a+b);

18、输出 。27.下列程序段的输出结果是 。int x=-10,y=1;if(x=0)if(x0) y=0;else y=-1;printf(“%d”,y);28.下列程序段的输出结果是 。int k=1,sum=8;while(kvoid main()int i;for(i=1; ;i+)if( )printf(“%d “,i);2. 输入 x、y 两个整数,按先大后小的顺序输出 x、y。#include void main( )int x, y, *px, *py, ;scanf(“%d%d“, ; ;if(x#include viod main( )float a20,pjz=0,s,t;

19、int i,k; ; /*从键盘输入数据到数组中*/for(i=0; istructint hour ,minute, second;time;void main() scanf(“%d: %d: %d“, ); /*结构体各成员赋值*/time.second+;if(time.second=60) time.minute+;time.second=0;if(time.minute=60) time.hour+;time.minute=0;if( ) time.hour=0; /*判断是否满 24 小时*/printf(“%d: %d :%d n“,time.hour,time.minute,

20、time.second);7.分别输出方阵中主对角线、副对角线上的元素和 sum1 和 sum2。#include#define SIZE 5main()int aSIZESIZE,m,n,sum1,sum2;for(m=0;mvoid main() FILE *fp;char ch;int count=0;if(fp= (“data.txt”,”r”)=NULL); /*打开文件*/printf(“不能打开文件 data.txt!n”);exit(0);while(ch=fgetc(fp)!=EOF)13if( ) count+; /*判断是否为小写字符*/printf(“%d”,count

21、);fclose(fp);五、阅读程序题1. 写出下面程序的运行结果。#include void main( )int a, b, c;a=1; b=2;c= (avoid main( )int a=9, b=15, c;c=aprintf(“a=%dnb=%dnc=%dn“,a,b,c);结果: 3. 写出下面程序的运行结果#include void main( )int j, k, p, s;s=0;for(j=1;jvoid main( )14int a=10, y=0;doa+=2; y+=a;if(y50) break;while(a=14);printf(“a=%d, y=%dn“

22、,a,y);结果: 5. 写出下列程序的执行结果#include void main( )char *s1=“I love China!“;char *s2, c, *s3=“w“;s2=*s2=H;s1=s1+2;printf(“%st%ct%stn“,s1,*s2,s3);结果: 6. 写出下面程序的运行结果#include func(int a,int b)static int m=0,i=2;i+=m+1;m=i+a+b;return(m);void main( )int k=4,m=1,p1,p2;p1=func(k,m);p2=func(k,m);printf(“%d, %dn“,

23、p1,p2);结果: 7. 写出下列程序的运行结果。#include “stdio.h“void main()char c=a;int k=4;15switch(c)case a:k=1;case b:k=2;break;case c:k=3;printf(“k=%dn“,k);结果: 8. 写出下列程序的运行结果。#include “stdio.h“void main()int i=0;char a=“abm“,b=“aqid“,c10;while(ai!=0elseci=bi-32;i+;ci=0;puts(c);结果: 9. 写出下列程序的运行结果。#include “stdio.h“i

24、nt i=0;int fun1(int i)i=(i%i)*(i*i)/(2*i)+4;printf(“i=%dn“,i);return i;int fun2(int i)i=i=10)break;if(x%3=1)x+=5;continue;x+=3;printf(“x=%d,y=%dn“,x,y);结果: 11. 写出下列程序的运行结果。#include “stdio.h“void main()int i,a=11,22,33,39,55,66,77,88,56,29;int *p=a+4;for(i=3;i;i-)switch(i)default:printf(“%dt“,*p+);br

25、eak;case 1:case 2:printf(“%dt“,*p-);break;case 3:printf(“%dt“,*(+p);17结果: 12. 写出下列程序的运行结果。#include “stdio.h“int add(int a,int n)int i,sum=0;for(i=0;ivoid main()int a6=12,4,17,24,27,16,b6=27,13,4,25,23,16;int i,j;for(i=0;ivoid fun1(int n,int a3)int i,j;for(i=0;inum;p=p-next;return k;17 int k;for(k=2;

26、kmain( ) int m;m=f(2);printf(“%d#”,m);m=f(3);printf(“%d#”,m);int f(int x) static int k=1;x+=k;k+;printf(“%d,”,k);head 4 3 5 6 7 NULL19return x;输出结果: 19 #include int z;void p(int *x,int y)+*x;y-;z=*x+y;printf(“%d,%d,%d#”,*x,y,z);void main( ) int x=2,y=3,z=4;p(printf(“%d,%d,%d#”,x,y,z);输出结果为: 20若输入-12+3=,则以下程序的输出结果是 #include void main()int m=0;sum=0;char c,oldc=+;doc=getchar();if(c=0) m=10*m+c-0;elseif(oldc=+) sum+=m;else sum-=m;m=0;oldc=c;while(c!=);printf(“%d”,sum);

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报