欢迎来到冰豆网! | 帮助中心 分享价值,成长自我!
冰豆网
全部分类
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • 党团工作>
  • ImageVerifierCode 换一换
    首页 冰豆网 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    C语言练习试题带详解答案解析.docx

    • 资源ID:25955792       资源大小:46.75KB        全文页数:32页
    • 资源格式: DOCX        下载积分:10金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    C语言练习试题带详解答案解析.docx

    1、C语言练习试题带详解答案解析一单项选择题1( A )是构成C语言程序的基本单位。A、函数 B、过程 C、子程序 D、子例程2C语言程序从 C 开始执行。 A) 程序中第一条可执行语句 B) 程序中第一个函数C) 程序中的main函数 D) 包含文件中的第一个函数3、以下说法中正确的是( C )。 A、C语言程序总是从第一个定义的函数开始执行 B、在C语言程序中,要调用的函数必须在main( )函数中定义 C、C语言程序总是从main( )函数开始执行 D、C语言程序中的main( )函数必须放在程序的开始部分4.下列关于C语言的说法错误的是( B ) 。A) C程序的工作过程是编辑、编译、连接

    2、、运行 B) C语言不区分大小写。C) C程序的三种基本结构是顺序、选择、循环 D) C程序从main函数开始执行5.下列正确的标识符是(C)。A.-a1 B.ai C.a2_i D.int t58题为相同类型题考点:标识符的命名规则(1) 只能由字母、数字、下划线构成(2) 数字不能作为标识符的开头(3) 关键字不能作为标识符选项A中的“-” ,选项B中“”与“”不满足(1);选项D中的int为关键字,不满足(3)6下列C语言用户标识符中合法的是( B )。 A)3ax B)x C)case D)-e2 E)union选项A中的标识符以数字开头不满足(2);选项C,E均为为关键字,不满足(3

    3、);选项D中的“-”不满足(1);7下列四组选项中,正确的C语言标识符是( C )。A) %x B) a+b C) a123 D) 123选项A中的“%” ,选项B中“+”不满足(1);选项D中的标识符以数字开头不满足(2)8、下列四组字符串中都可以用作C语言程序中的标识符的是( A )。 A、print _3d db8 aBc B、Iam one_half start$it 3pai C、str_1 Cpp pow while D、Pxq My-book line# His.age 选项B中的“”,”$” ,选项D中“”,”#”,”.”,”-”不满足(1);选项C中的while为关键字,不满

    4、足(3)9.C语言中的简单数据类型包括(D )。 A、整型、实型、逻辑型 B、整型、实型、逻辑型、字符型 C、整型、字符型、逻辑型 D、整型、实型、字符型10.在C语言程序中,表达式5%2的结果是 C 。 A)2.5 B)2 C)1 D)3详见教材P5253.%为求余运算符,该运算符只能对整型数据进行运算。且符号与被模数相同。5%2=1; 5%(-2)=1;(-5)%2=-1;(-5)%(-2)=-1;/为求商运算符,该运算符能够对整型、字符、浮点等类型的数据进行运算,5/2=211如果int a=3,b=4;则条件表达式ab? a:b的值是_A_。A) 3 B) 4 C) 0 D) 1详见教

    5、材P97.表达式1?表达式2:表达式3先计算表达式1,若表达式1成立, 则选择计算表达式2,并表达式2的值作为整个大表达式的值;若表达式1不成立,则选择计算表达式3,并将表达式3的值作为整个大表达式的值此题中的ab相当于表达式1,a相当于表达式2,b相当于表达式3.a为3,b为4。ab表达式1成立,因此计算表达式2,并将表达式2的值即a中的值,并作为整个表达式的值,因此整个表达式的值为312若int x=2,y=3,z=4 则表达式xage D) (*p).age33.设有如下定义:struck sk int a;float b;data;int *p;若要使P指向data中的a域,正确的赋值

    6、语句是 C A) p=&a; B) p=data.a; C) p=&data.a; D)*p=data.a;34.设有以下说明语句: typedef struct stu int a; float b; stutype; 则下面叙述中错误的是( D )。 A、struct是结构类型的关键字 B、struct stu是用户定义的结构类型 C、a和b都是结构成员名D、stutype是用户定义的结构体变量名41. 在C语言中,以 D 作为字符串结束标志A)n B) C) 0 D)0 42.下列数据中属于“字符串常量”的是(A )。A.“a” B.ABC C.abc0 D.a若干个字符构成字符串在C语

    7、言中,用单引号标识字符;用双引号标识字符串选项B,C,分别用和标识字符串选项D,标识字符。43.已知char x=hello, y=h,e,a,b,e;, 则关于两个数组长度的正确描述是 B .A)相同 B)x大于y C)x小于y D)以上答案都不对C语言中,字符串后面需要一个结束标志位0,通常系统会自动添加。对一维数组初始化时可采用字符串的形式(例如本题数组x),也可采用字符集合的形式(例如本题数组y)。在以字符串形式初始化时,数组x不尽要存储字符串中的字符,还要存储字符串后的结束标志位,因此数组x的长度为6;在以字符集合形式初始化时,数组y,仅存储集合中的元素,因此数组y长度为54编程计算

    8、13599的值main() int i, sum = 0;i=1;while ( i100 ) sum = sum + i; I=i+2 ; printf(sum=%dn, sum);5从键盘输入一个字符,判断它是否是英文字母。#include void main()char c; printf(input a character:); c=getchar();if(c= A &c=a &c= z) printf(Yesn); else printf(No);6. 下面程序的功能是在a数组中查找与x值相同的元素所在位置,请填空。 #include void main() int a10,i,x

    9、; printf(“input 10 integers:”); for(i=0;i10;i+) scanf(“%d”,&ai); printf(“input the number you want to find x:”);scanf(“%d”, &x ); for(i=0;i10;i+)if( x=ai )break; if( i10 ) printf(“the pos of x is:%dn”,i); else printf(“can not find x!n”); 7程序读入20个整数,统计非负数个数,并计算非负数之和。 #include main( ) int i, a20, s, c

    10、ount; s=count=0; for(i=0; i20; i+) scanf(“%d”, &ai ); for(i=0; i20; i+) if( ai0 ) continue ; s+=ai ; count+; printf(“s=%dt count=%dn”, s, count”); 8. 输入一个正整数n (1n10),再输入n个整数,用选择法将它们从小到大排序后输出。 #include int main(void) int i, index, k, n, temp; /* 定义1个数组a,它有10个整型元素*/ printf(“Enter n: ); printf(“Enter %

    11、d integers: , n); for(i = 0; i n; i+) scanf(%d, &ai); for(k = 0; k n-1; k+) /* 对n个数排序 */ index = k; for( ) if( ) index = i; printf(After sorted: ); for(i = 0; i n; i+) /* 输出n个数组元素的值 */ return 0; 一、 程序改错一、 下面每个程序的划线处有语法或逻辑错误,请找出并改正,使其得到符合题意的执行结果。求1234nmain() long int sum; / /若定义变量的语句有错误,常见考点有两个:(1)变量

    12、的类型,(2)在定义用于存放运算结果的变量时,一定要赋初值。一般赋值0或者循环初值。int n,i=1;scanf(%d,n); /若scanf语句有错误,常见考点有两个:(1)格式声明符号要与后面欲赋值的变量的类型一致,此题%d与n的类型int一致(详见p69-78);(2)变量的前面要有地址符号&printf(“n”);while(in) / 循环条件用于控制循环的次数,若以in 为循环条件,则意味着i的终值为n-1, 由于且i初值为1,因此一共能够循环n-1次。比要求少了1次,因此应改为i=n 或者in+1 sum=sum*i; / 若不为sum赋初值,则此处无法计算sum*i。i+;p

    13、rintf(sum=%d,sum); /若printf语句有错误,常见考点有1个:格式声明符号要与后面欲输出的变量的类型一致,此题%d与sum的类型long int不一致,应改为%ld(详见p69-78);sum应初始化 即加入sum=1 第四行改为:scanf(“%d”,&n);第六行改为:while(i=n)或者 while(in+1)第十行改为:printf(sum=%ld,sum); 2求一个数组中最大值及其下标。main( ) int max,j,m; int a5; for(j=1;j=5;j+) / j=1为循环变量j赋初值为1,同时用j作为数字元素的逻辑地址下标。因此输出的时候

    14、只能从a1开始输出,无法输出a0.因此应将j赋初值0,相应的循环条件改为j5或者j=4用于控制循环执行5次 scanf(“%d”,a); /若scanf语句有错误,常见考点有两个:(1)格式声明符号要与后面欲赋值的变量的类型一致,此题%d与a的类型int一致(详见p69-78);(2)变量的前面要有地址符号& max=a0; for(j=1;j=5;j+) /修改思路与上一个for语句同 if(ma 下标存 在了m里 第四行改为:for(j=0;j5;j+)第五行改为:scanf(“%d”,&aj);第七行改为:for(j=1;j5;j+)第八行改为:if(maxaj)第十三行改为:print

    15、f(“下标:%dn最大值:%d”, m,max) 3用一个函数求两个数之和。sum(x,y) /函数定义的一般形式p173-174 float z;z=x+y;return; /return语句后面可以返回0、常量、变量和表达式的值。main() float a,b;int c; / /若定义变量的语句有错误,常见考点有两个:(1)变量的类型,(2)在定义用于存放运算结果的变量时,一定要赋初值。一般赋值0或者循环初值。scanf(%f,%f,&a,&b);c=sum(a,b);printf(nSum is %f,sum); 第一行改为:float sum(float x, float y );

    16、 第四行改为:return(z);或者return z; 第八行:float c; 第十一行:printf(nSum is %f,c);4 程序读入20个整数,统计非负数个数,并计算非负数之和.#include “stdio.h”main() int i, s , count ,n=20;int an; /数组定义的一般形式,详见p143, 其中的常量表达式不能为变量 s=count=1; for( i=1, i20, i- -) / for语句的格式,三个表达式之间用分号,且分号不可省略 scanf(“%d”, ai ); /若scanf语句有错误,常见考点有两个:(1)格式声明符号要与后面

    17、欲赋值的变量的类型一致,此题%d与n的类型int一致(详见p69-78);(2)变量的前面要有地址符号& for(i=0;i20;i+) if(ai0) break; / break与continue的区别 p128. 在改错题中若错误出现在break语句,则通常是将break换为continue;反之,若错误出现在continue,通常是将其换为break s +=ai;count+; printf(“s=%f count=%fn”, s, count); /若printf语句有错误,常见考点有1个:格式声明符号要与后面欲输出的变量的类型一致答案:int a20s=count=0;for(i=0;i20;i-)scanf(“%d”,&ai);continue;printf(“s=%d count=%dn”,s,count);5. 从键盘输入整数x的值,并输出y的值. main() float x,y; scanf(“%d”,&x);


    注意事项

    本文(C语言练习试题带详解答案解析.docx)为本站会员主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2022 冰点文档网站版权所有

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

    收起
    展开