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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

C语言练习题1.docx

1、C语言练习题1一、单项选择题1、C语言程序的基本单位是 ( )A)字符 B)程序行 C)语句 D)函数2、计算机能直接执行的程序是 ( )A)源程序 B)目标程序 C)汇编程序 D)可执行程序3、以下叙述中错误的是 ( )A)计算机不能直接执行用C语言编写的源程序B)C程序经C编译程序编译后,生成后缀为.Obj的文件是一个二进制文件C)后缀为.Obj的文件,经连接程序生成后缀为.exe 的文件是一个二进制文件D)后缀为.obj 和.exe 的二进制文件都可以直接运行4、对于一个正常运行的C程序,以下叙述中正确的是 ( )A)程序的执行总是从main函数开始,在main函数结束B)程序的执行总是

2、从程序的第一个函数开始,在main函数结束C)程序的执行总是从main函数开始,在程序的最a后一个函数中结束D)程序的执行总是从程序中的第一个函数开始,在程序的最后一个函数中结束5、下列选项中不属于结构化程序设计原则的是 ( )A)可封装 B)自顶向下 C)模块化 D)逐步求精6、结构化程序设计所规定的三种基本控制结构是 ( )A)输入、处理、输出 B)顺序、选择、循环C)树形、网形、环形 D)主程序、子程序、函数7、算法具有五个特性,以下选项中不属于算法特性的是 ( )A)有穷性 B)简洁性 C)可行性 D)确定性8、以下关于C语言的叙述中正确的是 ( )A)C语言中的注释不可以夹在变量名或

3、关键字的中间B)C语言中的变量可以在使用之前的任何位置进行定义C)在C语言算术的书写中,运算符两侧的运算数类型必须一致D)C语言的数值常量中夹带空格不影响常量值的正确表示9、以下选项中,能用作用户标识符的是 ( )A)return B)6_a C)_0_ D)int10、以下选项中合法的标识符是 ( )A)#33 B)ab C)_11 D)1_ _11、以下不能定义为用户标识符的是 ( )A)Main B)_0 C)_int D)sizeof12、若有定义:double a=22;int i=0,k=18;则不符合C语言规定的赋值语句是( )A)a=a+,i+ B)i=(a+k)=(i+k)

4、C)i=a%11 D)i=!a13、表达式 strlen(China) 的值是 ( )A)4 B)5 C)6 D)714、表达式 strlen(c) 的值是 ( )A)0 B)1 C)2 D)315、若已定义x和y是double类型变量,则表达式x=1,y=x+3/2的值是( )A)1 B)2 C)2.0 D)2.516、若有定义语句:int x=10;,则表达式x-=x+x的值是 ( )A)-20 B)-10 C)0 D)1017、若有定义语句:int x=168; ,则表达式x=x%100/10的值为 ( )A)6 B)6.8 C)1 D)818、下述程序段输出结果是 ( )int x=6

5、;double y=3.141593;printf(%d%5.3f,x,y);A)63.141 B)6 3.141 C)6,3.141 D)63.141019、当把以下四个表达式用作if语句的控制表达式时,有一个选项与其它三个选项含义不同,这个选项是 ( )A)k%2 B)k%2=1 C)(k%2)!=0 D)!k%2=120、若有定义语句:double x,y,*px,*py,执行了px=&x, py=&y;之后,正确的输入语句是 ( )A)scanf(%f%f,x,y); B) scanf(%f%f,&x,&y);C)scanf(%lf%le,px,py); D) scanf(%lf%lf

6、,x,y);21、以下运算符优先级最高的是 ( )A)= B)!= C)& D)? :22、以下运算符优先级最高的是 ( )A)+ B)| C)| D)+=23、以下是if语句的基本形式:if(表达式)语句其中“表达式” ( )A)必须是关系表达式 B)必须是逻辑表达式C)必须是逻辑表达式或关系表达式 D)可以是任意合法的表达式24、以下程序的运行结果是 ( )#include main() int i,j,m=55;for(i=1;i=3;i+)for(j=3;j0;i-)for (j=0;j4;j+)printf(OK.n);A)20 B)24 C)25 D)3026、以下错误的定义语句是

7、 ( ) A)int x3=0,1,1,2,3; B)int x43=1,2,3,1,2,3,1,2,3,1,2,3; C)int x4=1,2,3,1,2,3,1,2,3,1,2,3; D)int x3=1,2,3,4;27、以下不能对二维数组a进行正确初始化的语句是 ( ) A)int a23=0; B)int a3=1,2,3; C)int a3=1,2,3,4,5,6; D)int a23=1,2,3,4,5,6;28、以下叙述中正确的是 ( )A)预处理命令行必须位于源文件的开头B)在源文件的一行上可以有多条预处理命令C)宏名必须用大写字母表示D)宏替换不占用程序的运行时间29、以下

8、叙述中错误的是 ( ) A)在程序中凡是以“#”开始的语句行都是预处理命令行 B)预处理命令行的最后不能以分号表示结束 C)#define MAX是合法的宏定义命令行 D)C程序对预处理命令行的处理是在程序执行的过程中进行的30、以下关于宏的叙述中正确的是 ( )A)宏名必须用大写字母表示 B)宏定义必须位于源程序中所有语句之前C)宏替换没有数据类型限制D)宏调用比函数调用耗费时间31、在文件包含预处理语句(# include)的使用形式中,当之后的文件名用“”(双引号)括起时,寻找被包含文件的方式是 ( )A)直接按系统设定的标准方式搜索目录B)先在源程序所在目录搜索,再按系统设定的标准方式

9、搜索C)仅仅搜索源程序所在目录D)仅仅搜索当前目录32、已定义a为int型变量,则对指针变量p的正确定义和初始化的是 ( )A)int *p=a; B)int *p=*a; C)int p=&a; D)int *p=&a;33、设有定义double a10,*s=a; ,以下能够代表数组元素a3的是 ( )A)(*s)3 B)*(s+3) C)*s3 D)*s+334、有如下程序段:int *p,a=10,b=1; p=&a; a=*p+b;执行该程序段后,a的值是 ( )A) 12 B)11 C)10 D)编译出错35、若有定义语句:intc35,*p,*q3;且0=i3,则错误的赋值是 (

10、 ) A)p=c; B)qi=ci; C)p=ci; D)p=&c1;36、若有以下定义:int x10,*pt=x;则对x数组元素的正确应用是 ( )A)*&x10 B)*(x+3) C)*(pt+10) D)pt+337、若有定义语句:double x5=1.0,2.0,3.0,4.0,5.0, *p=x;则错误引用x 数组元素的是 ( )A)*p B)x5 C)*(p+1) D)*x38、有以下程序 有以下程序#include main() int a=1,2,3,4,5,6,7,8,9,0,*p;for(p=a;pa+10;p+)printf(%d,*p);程序运行后的输出结果是 (

11、)A)1,2,3,4,5,6,7,8,9,0, B)2,3,4,5,6,7,8,9,10,1,C)0,1,2,3,4,5,6,7,8,9, D)1,1,1,1,1,1,1,1,1,1,39、设有以下函数: voidfun(intn,char*s) 则下面对函数指针的定义和赋值均正确的是 ( )A)void (*pf)( ); pf=fun; B)void *pf( ); pf=fun; C)void *pf( ); *pf=fun; D)void (*pf)(int,char); pf=&fun;40、下列函数的功能是 ( )fun(char*a,char*b) while(*b=*a)!=0

12、) a+;b+; A)将a所指字符串赋给b所指空间 B)使指针b指向a所指字符串 C)将a所指字符串和b所指字符串进行比较 D)检查a和b所指字符串中是否有041、有以下程序 #include main( ) int m=1,n=2,*p=&m,*q=&n,*r; r=p;p=q;q=r; printf(%d,%d,%d,%dn,m,n,*p,*q); 程序运行后的输出结果是 ( )A)1,2,1,2 B)1,2,2,1 C)2,1,2,1 D)2,1,1,2 42、设有定义语句int(*f)(int);,则以下叙述正确的是 ( )A)f是基类型为int的指针变量B)f是指向函数的指针变量,该

13、函数具有一个int类型的形参C)f是指向int类型一维数组的指针变量D)f是函数名,该函数的返回值是基类型为int类型的地址43、 在说明一个结构体变量时,系统分配给它的存储空间是 ( )A)该结构体中第一个成员所需的存储空间B)该结构体中最后一个成员所需的存储空间C)该结构体中占用最大存储空间的成员所需的存储空间D)该结构体中所有成员所需存储空间的总和44、如有以下定义:struct dateint year;int month;int day;struct worklistchar name20;char sex;struct date birthday;person;对结构体变量pers

14、on的出生年份进行赋值时,下面正确的赋值语句是( )A)year=1985; B)birthday.year=1985;C)person.year=1985; D)person.birthday.year=1985;45、若有以下说明和定义union dtint a; char b; double c;data;以下叙述中错误的是 ( )A)data的每个成员起始地址都相同B)变量data所占内存字节数与成员c所占字节数相等C)程序段:data.a=5;printf(%f ,data.c);输出结果为5.000000D)data可以作为函数的实参46、设有如下说明typedef struct

15、STlong a;int b;char c2; NEW;则下面叙述中正确的是 ( )A)以上的说明形式非法 B)ST是一个结构体类型C)NEW是一个结构体类型 D)NEW是一个结构体变量47、下列关于结构型、共用型、枚举型的定义语句中,正确的是 ( )A)struct ss int x B)union uu int x;xx5;C)enum ee int x; D)structint x;48、整型变量x和y的值相等、且为非0值,则以下选项中,结果为零的表达式是 ( )A) x | y B) x | y C) x & y D) xy49、设 int a=2;表达式(a1)的值是 ( )A) 0

16、 B) 2 C) 4 D) 8 50、以下叙述中错误的是 ( ) A)gets函数用于从终端读入字符串 B)getchar函数用于从磁盘文件读入字符 C)fputs函数用于把字符串输出到文件 D)fwrite函数用于以二进制形式输出数据到文件51、以下叙述中错误的是 ( )A)C语言中对二进制文件的访问速度比文本文件快B)C语言中,随机文件以二进制代码形式存储数据C)语句 FILE fp; 定义了一个名为fp的文件指针D)C语言中的文本文件以ASCII码形式存储数据51、有以下程序#include stdio.hvoid WriteStr(char *fn,char *str) FILE *f

17、p;fp=fopen(fn,W);fputs(str,fp);fclose(fp);main() WriteStr(t1.dat,start);WriteStr(t1.dat,end);程序运行后,文件t1.dat中的内容是 ( )A)start B)end C)startend D)endrt52、若要打开名为abc.txt的文本文件进行追加操作,符合此要求的函数调用是( )A)fopen(abc.txt,r); B)fopen(abc.txt,w);C)fopen(abc.txt,a); D)fopen(abc.txt,rb);53、在C程序中,可把整型数以二进制形式存放到文件中的函数是

18、( )A)fprintf函数 B)fread函数C)fwrite函数 D)fputc函数二、程序(段)填空题1、下列是评分统计程序,一共有8个评委打分,统计最后得分时,去掉一个最高分和一个最低分,其余6个分数的平均分即为最后得分,请填空。#include main( ) float ave,max,min,x8=9.2,9.5,9.8,7.4,8.5,9.1,9.3,8.8; int i; max=min=_x0_; for(i=1;i8;i+) if(maxxi_) min=xi; for(i=0;i8;i+)ave+=xi;ave=_(ave-min-max)/6_; printf(ave

19、rage=%fn,ave);2、以下程序实现:从键盘输入一个字符,若输入为小写字母,则将小写字母变为大写字母并输出,其它字符不予处理。请填空。#include void main() char c; printf(input a wordn); scanf(%c,_&c_); if(_c=a&c=z_) /判断是否是小写字母 printf(%cn,_c-32_); /若是小写字母,则转化为大写字母输出3、以下程序用来判断指定文件是否能正常打开,请填空。#include Main( ) FILE *fp;if (fp=fopen(test.txt, r)= NULL )printf(未能打开文件

20、!n);elseprintf(文件打开成功!n);4、下列程序的功能是:求11/21/31/n的值,不要改变与输入输出有关的语句。main( ) int i, n;float sum;scanf(%d, &n); sum=0 ;for( i=1 ; i=n ;i+)sum= sum+1.0/i ;printf(%.3fn, sum);三、阅读程序并写出运行结果。1、有以下程序#includemain( ) int a=1,b=2,c=3,d=0;if(a=1&b+=2)if(b!=2 | c-!=3)printf(%d,%d,%dn,a,b,c);else printf(%d,%d,%dn,a

21、,b,c);else printf(%d,%d,%dn,a,b,c);程序运行后的输出结果是 。2、有一下程序 #include main( )char grade; scanf(%c,&grade); switch(grade) case A: printf(=85); case B: case C:printf(=60); break; case D:printf(60); default:printf(error); 若输入A,该程序的输出结果为 。3、有以下程序#includemain( ) int x=1,y=0,a=0,b=0; switch(x) case 1: switch(y

22、) case 0: a+; break; case 1: b+; break; case 2: a+; b+; break; case 3: a+; b+; printf(“a=%d,b=%dn”,a,b); 程序运行后的输出结果是 。4、有一下程序 #include main( ) long f,f1=1,f2=1; int i; printf(%ldt%ldt,f1,f2); for(i=0;i3;i+) f=f1+f2; printf(%ldt,f); f1=f2; f2=f; 程序运行后的输出结果是 。5、有一下程序 #include main( ) int k;for(k=0;k5;

23、+k) if(k=3) break; printf(%d,k); 程序运行后的输出结果是 。6、有一下程序 #include main( ) int i,j,x=0; for(i=0;i2;i+) x+; for(j=0;j=3;j+) if(j%2) continue; x+; x+; printf(“x=%dn”,x);程序运行后的输出结果是 。7、有一下程序 #include main( ) char a=h,e,l,0,l,o,0; printf(%s,a);该程序的输出结果为 。8、有一下程序 #include main()int i,t3=9,8,7,6,5,4,3,2,1;for

24、(i=0;i3;i+) printf(%d,t2-ii);该程序的输出结果为 。9、有一下程序 #include int fun(int, int);main() int a=10,b=9,c; c=fun(a,b); printf(%d,c);int fun(int x, int y) int z; z=xy?x:y; return(z);程序运行后的输出结果是 。10、有一下程序 #include int swap(int,int);main( ) int x=7,y=11; swap(x,y); printf(x=%d, y=%dn,x,y);int swap(int a,int b)

25、int temp; temp=a; a=b; b=temp;程序运行后的输出结果是 。11、有一下程序 #include void f(int *p,int *q);main() int m=1,n=2,*r=&m;f(r,&n);printf(%d,%d,m,n);void f(int *p,int *q)p=p+1;*q=*q+1;程序运行后的输出结果是 。12、有一下程序 #include main() int a33,*p,i ; p=&a00 ; for(i=0;i9;i+) pi=i+1; printf(%dn,a12);该程序执行后的输出结果为是 。四、判断题(对的填,错的填)1

26、、C程序中的注释只能出现在程序的开始位置和语句的后面。 ( )2、在标准C语言中,语句必须以“;”结束。 ( )3、关系运算符的优先级高于逻辑运算符。 ( )4、在标准C语言中,数组的下标必须是常量,不允许是表达式。 ( )5、函数的定义和调用都是可以嵌套的。 ( )6、对于定义int *p;则*p是指针变量名。 ( )7、C语言中必须用main作为主函数名,程序将从此开始执行,在此结束。( )8、使用putchar函数时,必须在之前包含头文件stdio.h。 ( )9、在if_else语句中,配对规则是else总是与最近的未配对的if配对。 ( )10、在标准C语言中,二维数组在内存中的存放

27、次序是以行序为主序。 ( )11、C语言中函数声明要以“;”结束。 ( )12、内存单元的地址与内存单元中的内容是两个相同的内容。 ( )13、若要处理含有不同类型的相关数据,应自定义结构体类型。 ( )14、共用体变量中的各成员的首地址是不一样的。 ( )15、文件由结构序列组成,可以构成二进制文件或文本文件。 ( )16、文件使用方式“wb+”的含义是为读写打开一个二进制文件。 ( )17、C程序是由函数构成的。 ( )18、在标准C语言中,语句必须以“;”结束。 ( )19、关系运算符的优先级低于逻辑运算符。 ( )20、在标准C语言中,数组的下标必须是常量,不允许是表达式。 ( )21、

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

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