华师《C语言程序设计》练习题库答案
《C语言程序设计》练习题及答案
《C语言程序设计》练习题及答案1. 单选题1. 设有定义:int n=0,*p=&n,**q=&p,则下列选项中正确的赋值语句是A. p=1;B. *q=2;C. q=p;D. *p=5;正确答案:D2. 设有int x=11;则表达式(x++*1/3)的值是A. 3B. 4C. 11D. 12正确答案:A3. 下面程序的输出结果是main(){ int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; printf("%d\n",*(p+2));}A. 3B. 4C. 1D. 2正确答案:A4. sizeof(float)是A. 一个双精度型表达式B. 一个整型表达式C. 一种函数调用D. 一个不合法的表达式正确答案:B5. 在16位C编译系统上,若定义long a;,则能给a赋40000的正确语句是A. a=20000+20000;B. a=4000*10;C. a=30000+10000;D. a=4000L*10L正确答案:D6. 请选出以下语句的输出结果printf("%d\n",strlen("\t\"\065\xff\n"));A. 5B. 14C. 8D. 输出项不合法,无正常输出正确答案:A7. 若x,i,j和k都是int型变量,则计算表达式x=(i=4,j=16,k=32)后,x的值为A. 4B. 16C. 32D. 52正确答案:C8. 下面能正确进行字符串赋值操作的是A. char s[5]={"ABCDE"};B. char s[5]={ ′A′, ′B′, ′C′, ′D′, ′E′};C. char *s;s="ABCDE";D. char *s;char a; scanf("%s",&s);正确答案:C9.以下程序的输出结果是#include "stdio.h"void reverse(int a[],int n){int i,t;for(i=0;i<n/2;i++){t=a[i];a[i]=a[n-1-i];a[n-1-i]=t;}}main(){int b[10]={1,2,3,4,5,6,7,8,9,10};int i,s=0;reverse(b,8);for(i=6;i<10;i++) s+=b[i];printf("%d\n",s);}A. 22B. 10C. 34D. 30正确答案:A10. 以下不正确的叙述是A. 在C程序中,逗号运算符的优先级最低B. 在C程序中,APH和aph是两个不同的变量C. 若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变D. 当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值正确答案:D2. 多选题11. 以下______是正确的转义字符。
(完整版)《C语言程序设计》复习参考答案
第一章【随堂练习1-2】1 .下面哪些标识符属于合法的用户自定义标识符:Main、void、_num、my$、a*、N4、3m、a-2答:合法的用户自定义标识符是:Main、_num、N42. 结合【例1.2】指出程序代码中所用到的标识符哪些是关键字,哪些是预定义标识符,哪些是用户自定义标识符。
答:关键字:void、int预定义标识符:in elude、main、prin tf、sca nf用户自定义标识符:a、b、c3. 分析【例1.2】中函数的结构,包括函数首部(函数返回值类型、函数名、形式参数) 、函数体语句(说明语句、可执行语句) 。
答:函数首部:void main(),其中函数返回值类型为void、函数名为main、形式参数无;函数体语句:{}内的语句为函数体,其中:说明语句为int a,b,c;,其余为可执行语句。
一. 单元练习一. 选择题1构成C语言程序的基本单位是()。
A .框架B .预处理C.函数 D .语句2 •在程序开发过程中,把文本文件格式源程序转化为二进制格式的目标程序的过程称之为()°A. 编辑B.编译C.连接D.运行3 •关于主函数,下列说法不正确的是()°A. —个完整的C语言应用程序有唯一的主函数B. 主函数的名称只能是m ai nC. 主函数可以被其他自定义函数调用D. C语言程序的运行从主函数开始,以主函数为核心展开4 .关于标识符,下列说法不正确的是()°A. 库函数名称为预定义标识符,不建议用作用户自定义标识符B. 关键字不能作为用户自定义标识符C. 用户自定义标识符中不区分大小写字母D. 标识符中可以出现下划线,且可以出现在标识符的任意位置5 .以下可用作用户自定义标识符的一组是()°A. void、return、ifB. printf、in elude、fabsC. Max、_abc、MainD. 2abc、pay$、sum-10二. 填空题1.______________________________________________________________ C语言程序一般由若干个函数构成,程序中应至少包含一个 _________________________________ ,其名称只能为°2.____________________________________ C语言程序中每条语句必须以结束。
华师C语言程序设计练习题库答案
华师C语⾔程序设计练习题库答案《C语⾔程序设计》试题库答案⼀、选择题(下列各题有四个选项,只有⼀个答案是正确的,请选出正确选项)1--5ACDCB 6--10 ACBAB 11--15CCADB 16--20BABCD 21--25CDACC 26--30 DDBDB 31--35DADAA 36—40BCBCC 41—45CDCCB 46--50 CBAAD 51--55 BCAAC 56--60 DBBCA61--65 CDCCD 66-70 CDDAC 71—75 CCDBC 76—80 DDBCA 81—85 CDDDB 86—90BBBAB⼆、填空题1、【1】1 【2】22、【1】4 【2】83、 -164、 -32768 ~ 327675、【1】单精度型(或:float)【2】双精度型(或:double)6、【1】整型【2】字符型【3】枚举类型7、 18、 269、【1】12 【2】410、【1】6 【2】4 【3】211、 -6012、 213、【1】10 【2】614、 5.50000015、 3.50000016、 i:dec=-4,oct=177774,hex=fffc,unsigned=6553217、 *3.140000,3.142*18、 c:dec=120,oct=170,hex=78,ASCII=x19、 *d(1)=-2*d(2)=-2*d(3)=-2**d(4)=177776*d(5)=177776*d(6)=177776*20、 *d(1)=-2*d(2)=-2*d(3)=-2**d(4)=fffe*d(5)=fffe*d(6)=fffe*21、 *d(1)=3.50000e+00*d(2)=3.500e+00*d(3)=3.500e+00**d(4)=-3.50000e+00*d(5)=-3.50000e+00*d(6)=-3.5000e+00*22、 x=1 y=2 *sum*=310 Squared is: 10023、 (1) 10(2) □□□□10 (□表⽰空格)(3) 56.100000(4) □□□□□□3.141600(5) 5.68100e+023.14160e+00□□□(6)(7) 3.1416(8) □□□□□□3.141624、 (1) 123.456000(2) □□□□□□□123.457(3) 123.4560(4) 8765.456700(5) □□□□□□8765.457(6) 8765.4567(7) 8765.456725、【1】可以使同⼀输出语句中的输出宽度得以改变。
(完整版)C语言程序设计练习题(含程序及参考答案)
(完整版)C语⾔程序设计练习题(含程序及参考答案)C语⾔练习题(所提供的源程序均采⽤⾃定义函数⽅式解决,如不采⽤函数⽅式,也可直接在main函数中借鉴该思想编程,因时间有限,所有程序未能⼀⼀验证,仅供参考使⽤)1、定义⼀个函数int fun(int a,int b,int c),它的功能是:若a,b,c能构成等边三⾓形函数返回3,若能构成等腰三⾓形函数返回2,若能构成⼀般三⾓形函数返回1,若不能构成三⾓形函数返回0。
#includeint fun(int a,int b,int c){if(a+b>c && b+c>a && a+c>b){if(a==b && b==c )return 3;else if(a==b||b==c||a==c)return 2;else return 1;}else return 0;}void main(){int a,b,c,shape;printf("\nInput a,b,c: ");scanf("%d%d%d",&a,&b,&c);printf("\na=%d, b=%d, c=%d\n",a,b,c);shape =fun(a,b,c);printf("\n\nThe shape : %d\n",shape);}2、编写⼀个程序,将两个变量的值交换, 例如变量a中的值原为 3,b中的值原为8,程序运⾏后 a 中的值为8,b中的值为3。
#includevoid fun(int *x,int *y){int t;t=*x;*x=*y;*y=t}void main(){int a=3,b=8;printf("%d %d\n",a,b);fun(&a,b);printf("%d %d\n",a,b);}3、从键盘输⼊3个数,将最⼤值放在变量a中,最⼩值放在变量c中。
C语言程序设计练习题1及答案
C语言练习题(一)一选择题1以下不正确的C语言标识符是( D )。
A.ABC B.abc C.a_bc D.ab.c2以下正确的c语言标识符是( )。
A.%x B.a+b C.a123 D.test!3一个c程序的执行是从( ).A.main( )函数开始,直到main( )函数结束B.第一个函数开始,直到最后一个函数结束C.第一个语句开始,直到最后一个语句结束D.main( )函数开始,直到最后一个函数结束4 一个C语言程序是由()。
A)一个主程序和若干子程序组成B)函数组成C)若干过程组成D)若干子程序组成5 C语言程序的基本单位是( )。
A.过程B.函数c子程序D.标识符6 编辑程序的功能是( )。
A.建立并修改程序B.将c源程序编译成目标程序C.调试程序D.命令计算机执行指定的操作7以下结果为整数的表达式(设有int i;char c;float f;)().A.i+f B.i*c C.c+f D.i+c+f8以下不正确的语句(设有int p,q)是( )。
A.P*=3; B.p/=q; C.p+=3; D.p&&=q;9 以下使i的运算结果为4的表达式是()。
A.int i=0,j=0;(i=3,(j++)+i);B.int i=1,j=0;j=i=((i=3)*2);C.int i=0,j=1;(j==1)?(i=1);(i=3);D.int i=1,j=1;i+=j+=2;10设n=10,i=4、则赋值运算n%=i+1执行后,n的值是().A.0 B.3 C.2 D.111逗号表达式(a=3*5,a*4),a+15的值为( ),a的值为( )。
①A.15 B.60 C.30 D.不确定②A.60 B.30 C.15 D.9012 如果a=1,b=2,c=3,d=4,则条件表达式a<b?a:c<d?c:d的值为().A.1 B.2 C.3 D.413 若有代数式3ae/bc,则正确的C语言表达式是(C)A)a/b/c*e*3 B)3*a*e/b/cC)3*a*e/b*c D)a*e/c/b*314在C语言中,要求运算数必须是整形的运算符是(D).A)/ B)++ C)!= D)%15 若以下变量均是整形,且num=sum=7;则计算表达式sum=num++,sum++,++num后sum的值为(A).A)7 B)8 C)9 D)1016在C语言中,int、char和short三种类型数据在内存中所占用的字节数(D)。
(完整版)C语言程序设计题库及答案,推荐文档
D.a2_b 19 . 以下叙述中错误的是__A___。 A.用户所定义的标识符允许使用关键字 B.用户所定义的标识符应尽量做到“见名知意 C.用户所定义的标识符必须以字母或下划线开头 D.用户定义的标识符中,大、小写字母代表不同标识 20 . C 语言程序中,下列( C)组标识符是合法。 A.abc、2id、while B.4d、DO、oodb
B.二进制
C.十进制
D.八进制
3 . 以下不正确的 C 语言标识符是(C )。
A.AB1
B._ab3
C.4ab
D.a2_b
4 . 以下运算符中优先级最低的运算符是_D____。
A.&&
B.& C.||
D.=
5 . 在 C 语言中,要求运算数必须是整型的运算符是___A___。
A.%
B./ C.<
D.!
12 . 以下说法不正确的是__D___。 A.在 C 程序中,逗号运算符的优先级最低 B.在 C 程序中,aph 和 aPh 是两个不同的变量 C.若 a 和 b 类型相同,在计算了赋值表达式 a=b 后 b 中的值将放入 a 中,而 b 中的值不变 D.当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输 入实型数 13 . C 语言程序的基本单位是_C______。 A.程序行 B.语句 C.函数 D.字符 14 . C 语言程序中,下列(C )组符合变量命名规则。 A.for、-sub、xy
A.1
B.3
C.2.0
D.2.5
19 . func(exp1,(exp2,exp3),(exp4,exp5,exp6));含有(C )个实参。 A.1 B.2 C.3 D.6 20 . 有 int x=3,y=4,z=5;则下面表达式中值为 0 的是__B____。 A.x&&y B.! (x<y&&!z||1) C.x||y+z&&y-z D.x<=y 21 . 已定义 c 为字符型变量,则下列语句中正确的是____C__。
华师远程C语言程序设计作业答案
达成一个大小写字母自动变换的程序,输入大写字母,程序能够输出小写字母,输入小写字母,能够输出大写字母#include<stdio.h>intmain(){charstr[10];inti=0;gets(str);while(str[i]){if(str[i]>='a'&&str[i]<='z')str[i]=str[i]-32;elseif(str[i]>='A'&&str[i]<='Z')str[i]=str[i]+32;i++;}puts(str);return0;}2. 用三种循环方式实现1-100的和计算(提示:do...while,while,for)(1)for 循环:for(inti=1,sum=0;i<=100;i++){sum+=i;}(2)while 循环:inti=1;intsum=0;while(i<=100){sum+=i;i++;}(3)dowhile 循环:inti=1;intsum=0;do{sum+=i;i++;}while(i<=100);谈谈数组和指针的差别1)指针的实质是一个与地点有关的复合种类,它的值是数据寄存的地点(地点);数组的实质则是一系列的变量。
2)数组名对应着(而不是指向)一块内存,其地点与容量在生命期内保持不变,只有数组的内容能够改变。
指针能够随时指向随意种类的内存块,它的特点是“可变”,因此我们常用指针来操作动向内存。
3)当数组作为函数的参数进行传达时,该数组自动退化为同种类的指针。
数组名能够看作一个指针来用,数组名能够用*取此中的值,指针也能够用[]解引用,但它们仍是有一些差别指针能够随时指向随意种类的内存块,它的特点是“可变”,因此我们常用指针来操作动向内存。
指针远比数组灵巧,但也更危险用指针实现一个字符串输入,而后把输入字符串倒序输出的程序#include<sdio.h>#defineN20voidmain(){charx1[N],x2[N];inti;print(" 输入一个字符串!\n");gets(x1);for(i=0;x1[i]!='0';i++)if(x1[i]>'a'||x1[i]='a'&&x1[i]<'z'||x1[i]='z'x2[i]=x1[i]+32;printf("\n 变化后得:\n");puts(x2);}。
C语言程序设计习题集参考答案
附录:参考答案第一章程序设计基本概念一.选择题1-5 B A C D C 6 – 10 C A C B A二.填空题1.函数的说明部分,函数体2.变量的定义部分,执行部分3.最外层的一对大括弧内的部分4.输入和输出函数5.函数6.小写7.省第二章C程序设计的初步知识一.选择题1-5 D D A C B 6-10 A A D A A 11- 15 A B B C A 16-20 D A C B B二.填空题1. 9,62. 12,63. 15,64. 18,65. K,56.基本数据类型,构造类型,指针,空类型7.数组,结构体,共用体8.整型,字符型,实型,枚举类型9.整型,实型,字符,字符串10.用一个标识符代表一个常量11.数值型常量12.大写,小写13.数据类型,数据类型14.标识符15.基本型,短整型,长整型,无符号型,int,short,long,unsigned16.L,l 17. 十进制形式,指数形式18.fg_ab_ c_ _ de.h_ _ _ _ _ _j_ _ _k 19.‟\0‟ 20 75.5 21.double 22.-1038- 103823.x=3.600000 ,I= 3 24.赋值,算术,逻辑,条件,关系,逗豆25.(1)2 26.a<b||a<c.(2)3 .a>c&&b>cCC .a<c||b<ca=2,b=2,c=4 .a%2= = 127.(1)3 (2)2 (3)3 28. 2,1 29 4,8 30.强制类型转换第三章顺序结构一.选择题1-5 A B A B B 6-9 D C C D二.填空题1.控制语句、空语句、复合语句、表达式语句、函数调用语句2.函数调用3.在终端设备上按照指定的格式进行输出4.格式说明和普通字符5.%%6.地址,a的地址7.变量地址,变量名8.分号9.包含它的函数,调用函数10.花括弧11.GFEDCB 12.10<cr>40<cr>4<cr>4<cr>(<cr>表示回车换行符)13.10110 14.32<cr>16,15<cr>40<cr>13,13 15.PEOPLEpeople and computer第四章选择结构一.选择题1-5 B D B B A 6-10 A A A C D二.填空题1.if(a<=b) {x=1;printf(“####x=%d\n”,x); else {y=2;printf(“****y=%d\n”,y);}2.a= = 0 b= = 0 _derta < 03.x=1 y= 0x=24.x/10case 0:case 1: case 2: case 3:case 4: case 5:case 9:第五章循环结构一.选择题1-5 C C B C B 6-10 D A B C A二.填空题1表达式1;while(表达式2)表达式3;2.终止包含它的最内层循环的执行。
C语言程序设计课后习题参考答案
x>5||x<-5
四、编写程序题
【习题2-23】
main()
{
float r,h,C1,Sa,Sb,Va,Vb;
scanf("%f,%f",&r,&h);
C1=2*3.14*r;
Sa=3.14*r*r;
Sb=4*Sa;
Va=4*3.14*r*r*r/3;
Vb=Sa*h;
表达式不是独立存在的,它存在于其他表达式、语句、函数参数里,表达式后面加上一个分号,就变成表达式语句,如
i=i+1(是表达式,不是语句)
i=i+l;(是语句)
表达式能构成语句是C语言的一个特色。其实“函数调用语句”也是属于表达式语句,因为函数调用也属于表达式的一种,只是为了便于理解和使用,我们把“函数调用语句”和“表达式语句”分开来说明。由于C程序中大多数语句是表达式语句(包括函数调用语句),所以有人把C语言称作“表达式语言”。
三、
【习题3-12】~【习题3-19】:如图3-12至图3-19所示。
3-123-133-14
其中的符号“→”表示“倒给”,例如“A→C”“将A瓶中的液体倒给C瓶”。
3-153-163-17
3-183-19
四、编写程序题
【习题3-20】:
#include <stdio.h>
main()
{int x,y;
bon4=bon2+200000*0.05; /*利润为40万元时的奖金*/
bon6=bon4+200000*0.03; /*利润为60万元时的奖金*/
bon10=bon6+400000*0.015; /*利润为100万元时的奖金*/
《c语言程序设计》试题库及答案
《c语言程序设计》试题库及答案一、选择题1. 下列哪个选项是C语言的标准库函数?A. printfB. scanfC. mainD. All of the above答案:D2. C语言中,用于定义字符串的字符数组的语法是什么?A. char str[] = "Hello";B. char str[] = {"Hello"};C. char str = "Hello";D. char str[] = 'Hello';答案:A3. 在C语言中,以下哪个关键字用于定义一个函数?A. intB. functionC. defD. void答案:A二、填空题1. 在C语言中,定义一个整型变量的正确方式是:________。
答案:int variable_name;2. C语言中,用于计算两个数的和的运算符是:______。
答案:+3. 如果要在C语言中声明一个指向整型的指针,应该使用:________。
答案:int *pointer_name;三、简答题1. 请简述C语言中数组和指针的区别。
答案:数组是一组相同类型的元素的集合,可以通过索引访问每个元素。
指针是一个变量,它存储了另一个变量的内存地址。
数组名可以被用作指向数组首元素的指针,但数组本身是一个固定大小的实体,而指针可以被重新赋值为其他地址。
2. 解释C语言中的结构体(struct)是什么?答案:结构体是一种用户定义的数据类型,它允许将不同的数据类型组合成一个单一的数据结构。
它使得可以创建包含多种数据类型的复杂数据结构。
四、编程题1. 编写一个C语言程序,实现计算两个整数的和,并输出结果。
```c#include <stdio.h>int main() {int num1, num2, sum;printf("Enter two integers: ");scanf("%d %d", &num1, &num2);sum = num1 + num2;printf("The sum is: %d\n", sum);return 0;}```2. 编写一个C语言程序,实现将一个字符串反转,并输出结果。
c语言程序设计考试题答案及解析
c语言程序设计考试题答案及解析一、选择题(每题2分,共20分)1. 下列哪个选项是C语言中合法的标识符?A. 2variableB. variable2C. variable-2D. variable$2答案:B解析:在C语言中,标识符可以由字母、数字和下划线组成,但不能以数字开头,也不能包含特殊字符如$、-等。
2. C语言中,哪个关键字用于声明一个整型变量?A. intB. floatC. doubleD. char答案:A解析:int是用于声明整型变量的关键字,float用于声明浮点型变量,double用于声明双精度浮点型变量,char用于声明字符型变量。
3. 下列哪个选项是C语言中的逻辑运算符?A. &&B. ||C. ||D. &答案:A解析:&&是逻辑与运算符,||是逻辑或运算符,&是按位与运算符,而|是按位或运算符。
4. C语言中,哪个函数用于计算两个整数的和?A. max()B. min()C. sum()D. pow()答案:C解析:sum()函数通常用于计算两个整数的和,而max()和min()函数分别用于找出两个数中的最大值和最小值,pow()函数用于计算幂。
5. 在C语言中,哪个关键字用于循环结构?A. ifB. whileC. forD. switch答案:B、C解析:while和for都是C语言中的循环结构关键字,if用于条件判断,switch用于多条件分支选择。
6. C语言中,哪个函数用于输出字符串?A. printf()B. scanf()C. gets()D. puts()答案:D解析:puts()函数用于输出字符串,printf()用于格式化输出,scanf()用于输入,gets()函数已不推荐使用,因为它可能导致缓冲区溢出。
7. 下列哪个选项是C语言中的数组声明?A. int a[10];B. int a[];C. int a;D. int a=10;答案:A解析:int a[10];是声明一个有10个元素的整型数组的正确方式,B 选项没有指定数组大小,C选项声明了一个整型变量,D选项是对整型变量进行赋值。
(word完整版)C语言程序设计课后习题1-8参考答案
C语言程序设计课后习题1—8参考答案习题1参考答案一、简答题1、冯诺依曼计算机模型有哪几个基本组成部分?各部分的主要功能是什么?答:冯诺依曼计算机模型是由运算器、控制器、存储器、输入设备、输出设备五大功能部件组成的。
运算器又称算术逻辑部件,简称ALU,是计算机用来进行数据运算的部件。
数据运算包括算术运算和逻辑运算。
控制器是计算机的指挥系统,计算机就是在控制器的控制下有条不紊地协调工作的.存储器是计算机中具有记忆能力的部件,用来存放程序和数据.输入设备是用来输入程序和数据的部件。
输出设备正好与输入设备相反,是用来输出结果的部件。
2、简述计算机的工作原理。
答:计算机的工作原理可简单地概括为:各种各样的信息,通过输入设备,进入计算机的存储器,然后送到运算器,运算完毕把结果送到存储器存储,最后通过输出设备显示出来。
整个过程由控制器进行控制。
3、计算机软件系统分为哪几类?答:软件内容丰富,种类繁多,通常根据软件用途将其分为两大类:系统软件和应用软件。
系统软件是指管理、监控、维护计算机正常工作和供用户操作使用计算机的软件。
这类软件一般与具体应用无关,是在系统一级上提供的服务。
系统软件主要包括以下两类:一类是面向计算机本身的软件,如操作系统、诊断程序等。
另一类是面向用户的软件,如各种语言处理程序(像BC、VC等)、实用程序、字处理程序等。
在操作系统的基础上运行。
4、什么叫软件?说明软件与硬件之间的相互关系。
答:软件是指计算机程序及有关程序的技术文档资料。
两者中更为重要的是程序,它是计算机进行数据处理的指令集,也是计算机正常工作最重要的因素。
在不太严格的情况下,认为程序就是软件。
硬件与软件是相互依存的,软件依赖于硬件的物质条件,而硬件则需在软件支配下才能有效地工作.在现代,软件技术变得越来越重要,有了软件,用户面对的将不再是物理计算机,而是一台抽象的逻辑计算机,人们可以不必了解计算机本身,可以采用更加方便、更加有效地手段使用计算机。
(完整版)C语言程序设计习题集及答案
C语言程序设计习题集东华理工大学2014.9基础知识一单项选择题(每题2分,共44分)1 以下叙述正确的是___。
A C程序基本组成单位是语句B C程序每一行只能写一个语句C 简单C语句必须以分号作为结束符D 注释语句可以嵌套2 一个C语言程序是从___开始执行的。
A 程序中第一个函数B 名为main的函数C 包含文件(头文件)的第一个函数D 程序中的第一个语句3 请选出合法的C语言赋值语句___。
A a=b=58B i++;C a=58,b=58D k=int(a+b);4 下面标识符中,合法的用户标识符是___。
A 1abcB includeC a-b-c123D char5 以下所列的C语言整形常量中,正确的是___。
A 0x10B 0976C 076LD 01ff6 C语言中下列运算符的操作数必须为整型的是___。
A %B ++C /D =7 设a和b均为int型变量,则执行以下语句后的输出为___。
int a=20; int b=3; printf("%d\n",a+=(b%=2));A 20B 21C 0D 238 已知int i;,则执行语句 i=2.6;后,i的值为___。
A 2B 3C 2.6D 不确定9 以下合法的字符常量为___。
A 'ab'B '\482'C '\'D '\xaf'10 若y为int型变量,则执行以下语句后,y的值是___。
y=8; y+=y-=y*y;A 64B –56C –112D –4811 以下合法的浮点型常量是___。
A e-3B 1.5e+2.4C 3.14e+2LD 3.14 e +512 设int数据占用两个字节,float数据占用四个字节,double数据占用8个字节,且已知float a=2;int b=3;则执行下列语句输出为___。
printf("%d",sizeof(a*b)+2/5);A 4B 8C 6D 713 设int型占2个字节,且int i=-2;,则语句printf("%u",i);的输出结果为___。
《C语言程序设计》习题答案
《C语言程序设计》习题答案习题答案第1章一、选择题1. C2. C3. D4. D5. B6. C7. C 8. C 9. D 10. D 11. D二、填空题1. ;或分号2. 字母、数字和下划线3. .exe第2章一、选择题1. A2. C3. D4. A5. B6. A7. D8. D9. C 10. B11. C 12. D 13. A 14. B二、填空题1. 十六3. int型4. double或双精度5. 116. 3.57. 88. (x>20&&x<30)||(x<-100)9. 字符型10. 1个11. int第3章一、选择题1. A2. A3. A4. A5. A6. D7. D 8. B 9. B 10. C 11. A 12. B二、填空题1. double2. 5.53. 26三、程序分析题1. 22. 6第4章一、选择题1. A2. A3. C4. B6. C7. B8. D 9. C 10. C 11. B 12. C 13. A二、填空题1. 12. 03. 非04. (x%3==0) && (x%7==0)5. || && !三、程序分析题1. 把大写字母A-Z转换成对应的小写字母a-z,其它字符不转换。
2. 133. 4四、程序填空题1. (1)((a+b<c)||(b+c<a)||(a+c<b))(2)sqrt(t*(t-a)*(t-b)*(t-c))< p="">五、程序设计题main(){ int a,b,c,d,x;printf(“input a number:”);scanf(“%d”,&x);a=x/1000;x=x%1000;b=x/100; x=x%100;c=c/10;d=x%10;printf(“%d %d %d %d”,a,b,c,d);}第5章一、选择题1. A3. C4. C5. A6. B7. D8. C9. B 10. A二、填空题1. 32. 23.5三、程序分析题1. -12. 5,4,6四、程序填空题1. 2*x+7*y==902. t=t*i t=-t/i3. a%2!=1||a%3!=2||a%5!=4||a%6!=5 74. x>=0、x<amin< p="">五、程序设计题1. main(){ int m,n,k; float s=0; scanf(“%d%d”,&m,&n);for(k=m;k<=n;k++)s+=1.0/k;printf(“s=%f\n”,s);}2. main(){ float f1,f2,f3,s;int i;f1=f2=1; s=0;for(i=1;i<=20;i++){ f3=f2+f1;s+=f3/f2;f1=f2;f2=f3;}printf(“%f”,s);}3. main(){int a,b,c,k;for(k=100;k<1000;k++){a=k/100;b=(k-100*a)/10;c=k%10;if (k==(a+b+c)*a*b*c) printf("%d,",k);}}第6章一、选择题1. D2. D3. C4. D5. D6. D7. A8. A9. C 10. D11. C 12. C 13. A 14. D 15. B 16. A 17. B 18. C 19. C 20. C二、填空题1. char xm[61][10];2. 1235693.‘\0’4. 101418三、程序分析题1. m=82,j=72. abc四、程序填空题1. s[i]>='0' && s[i]<='9'2.‘\0’ str1[i]-str2[i]五、程序设计题1. main(){ int i,j,a[3][3].sum=0;for(i=0;i<3;i++)for(j=0;j<3;j++)scanf(“%d”,&a[i][j]);for(i=0;i<3;i++)sum+=a[i][i];printf(“%d”,sum);}2. main(){ int i,j,max;int a[3][4]={{1,3,5,7},{2,4,6,8},{15,17,34,12}}; max=a[0][0];for(i=0;i<3;i++)for(j=0;j<4;j++)if(a[i][j]>max) max=a[i][j];printf(“max is %d”,max);}3. #include “stdio.h”main(){ int term[10];int i,max,min;printf(“请输入10个整数:”);for(i=0;i<10;i++)scanf(“%d”,&term[i]);max=term[0];min=term[0];for(i=0;i<10;i++){ if(term[i]< p="">if(term[i]>max)max=term[i];}printf(“max=%d,min=%d”,max,min);}第7章一、选择题1. D2. A3. A4. C5. A6. A7. A8. B9. B 10. B 11. C 12 A 13. D 14. C 15. D二、填空题1. 函数说明部分2. {}3. main()函数4. 主函数函数5. return三、程序分析题1. 0 1 2 32. 153. 5,6四、程序填空题1. a[0]+sum(a+1,n-1)或sum(a,n-1)+a[n-1]或sum(a,n/2)+a[n/2]+sum(a+n/2+1,n-n/2-1return 02. 1、s*i、0、f(k)3. strstr[i]=str[j-1]str[j-1]=t五、程序设计题1. long power(int x, int n){ long p=1;for ( int i=1;i<=n;i++)p*= x;return (p);}2. long fun (int n){ long p=1;for ( int i=1;i<=n;i++)p*= i;return (p);}3. int fib(int n){if(n==0)return(0);if(n==1) return(1);if(n>1) return(fib(n-2)+fib(n-1));}第8章一、选择题1. B2. A3. C二、填空题1. 8第9章一、选择题1. B2. B3. D4. C5. C6. B7. A8. D二、填空题1. 共用体2. 223. 结构体4. typedef enum color {red,blue,white,green,yellow} COLOR;5. 34三、程序分析题1. 1984,122. 2第10章一、选择题1. D2. C3. C4. C5. B6. D7. A8. D9. C 10. A11. C12. D 13. C 14. C 15. B 16. C 17. D 18. C 19. A 20. A 21. C二、填空题1. 22. 603. 135 11. eybdooG三、程序分析题1. 602. porm3. 9四、程序填空题1. ① int *x, int *y ② *y=temp ③ &x,&y五、程序设计题1. void chg(char *s){ int i,j,k;k=strlen(s);for(i=0;i<k;i++)< p="">{ if(s[i]=='z'||s[i]=='Z' )s[i]=s[i]-25;else if(isalpha(s[i]))s[i]+=1;}}2. #define M 61{ char p[M],*q;int I,upper=0,lower=0;for(I=0;I<3;I++)gets(p[I]);for(I=0;I<3;I++){ q=p[I];while(*q){if(*q>=’A’&&*q<=’Z’){upper++;q++;} if(*q>=’a’&&*q<=’z’){lower++;q++;} }}printf(“%d,%d”,u pper,lower);}第11章一、选择题1. C2. B3. A4. C5. A6. A7. A8. B 9. D 10. C 11. B 12. C 13. C 14. C二、填空题1. 非零值2. 存储在外部介质上的相关数据集合。
《C语言程序设计》题库及答案
《C语言程序设计》题库及答案C语言程序设计题库及答案C语言是一门广泛应用于计算机科学领域的编程语言,掌握其基本知识和技能对于计算机专业的学生来说至关重要。
为了帮助学生更好地掌握C语言程序设计,以下是一份题库及答案,供大家学习和参考。
一、基础知识1. C语言中,如何表示注释?答案:使用“//”表示单行注释,使用“/*...*/”表示多行注释。
2. 声明一个整型变量x,并将其初始化为10。
答案:int x = 10;3. 下列哪种数据类型不能存储整数?A. intB. floatC. charD. double答案:B. float4. 以下哪个关键字用于声明常量?A. constB. staticC. volatileD. extern答案:A. const5. 请写出C语言中的三种基本数据类型。
答案:整型、浮点型、字符型。
二、控制语句1. 请写出一个简单的if语句的语法格式。
答案:if (条件表达式) {// 执行代码}2. 以下哪个关键字用于跳出当前循环?A. continueB. breakC. returnD. goto答案:B. break3. 请写出一个for循环的语法格式。
答案:for (初始化表达式; 条件表达式; 更新表达式) { // 循环体代码}4. 请写出一个while循环的语法格式。
答案:while (条件表达式) {// 循环体代码}5. 请写出一个switch语句的语法格式。
答案:switch (表达式) {case 值1:// 代码break;case 值2:// 代码break;default:// 默认代码}三、函数1. 请写出一个函数的定义和声明的语法格式。
答案:定义:返回类型函数名(参数列表) {// 函数体代码}声明:返回类型函数名(参数列表);2. 下列哪个关键字用于在函数定义中声明形式参数?A. intB. externC. voidD. char答案:C. void3. 请写出一个函数返回两个整数的最大值。
华中师范大学网络教育学院《C语言程序设计》练习测试题及答案
《C语言程序设计》练习测试题及答案一、选择题(下列各题有四个选项,只有一个答案是正确的,请选出正确选项)1.一个C程序的执行是从。
A)本程序的main函数开始,到main函数结束B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C)本程序的main函数开始,到本程序文件的最后一个函数结束D)本程序文件的第一个函数开始,到本程序main函数结束2.以下叙述正确的是。
A)在C程序中,main函数必须位于程序的最前面B)C程序的每行中只能写一条语句C)C语言本身没有输入输出语句D)在对一个C程序进行编译的过程中,可发现注释中的拼写错误3.以下叙述不正确的是。
A)一个C源程序可由一个或多个函数组成B)一个C源程序必须包含一个main函数C)C程序的基本组成单位是函数D)在C程序中,注释说明只能位于一条语句的后面4.C语言规定:在一个源程序中,main函数的位置。
A)必须在最开始B)必须在系统调用的库函数的后面C)可以任意D)必须在最后5.一个C语言程序是由。
A)一个主程序和若干子程序组成B)函数组成C)若干过程组成D)若干子程序组成6.在C语言中(以16位PC机为例),5种基本数据类型的存储空间长度的排列顺序为。
A)char<int<long int<=float<doubleB)char=int<long int<=float<doubleC)char<int<long int=float=doubleD)char=int=long int<=float<double7.若x、i、j和k都是int型变量,则执行下面表达式后x的值为。
x=(i=4,j=16,k=32)A)4 B)16 C)32 D)528.假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是。
A)7 B)8 C)6 D)29.下列四组选项中,均不是C语言关键字的选项是。
18秋华师《C语言程序设计A》在线作业-2答案
18秋华师《C语言程序设计A》在线作业-2
18秋作业试卷参考答案
一、单选题共20题,40分
1、整型变量i定义后赋初值的结果是()。
Int i=2.8*6;
A12
B16
C17
D18
【答案】参考选择:B
2、以下说法中正确的是()。
A#define和printf都是C语句
B#define是C语句,而printf不是
C#define和printf都不是C语句
Dprintf是C语句,但#define不是
【答案】参考选择:C
语言中基本数据类型包括()。
A整型、实型、逻辑型
B整型、实型、字符型
C整型、字符型、逻辑型
D整型、实型、逻辑型、实型
【答案】参考选择:B
4、假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是A7
B8
C6
D2
【答案】参考选择:B
5、以下不是无限循环的语句为
Afor(y=0,x=1;x>++y;x=i++) i=x
Bfor(;;x++=i)
Cwhile(1) { x++; }
Dfor(i=10;;i--) sum+=i;
【答案】参考选择:A。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《C语言程序设计》试题库答案一、选择题(下列各题有四个选项,只有一个答案是正确的,请选出正确选项)1--5ACDCB 6--10 ACBAB 11--15CCADB 16--20BABCD 21--25CDACC 26--30 DDBDB 31--35DADAA 36—40BCBCC 41—45CDCCB 46--50 CBAAD 51--55 BCAAC 56--60 DBBCA61--65 CDCCD 66-70 CDDAC 71—75 CCDBC 76—80 DDBCA 81—85 CDDDB 86—90 BBBAB二、填空题1、【1】1 【2】22、【1】4 【2】83、 -164、 -32768 ~ 327675、【1】单精度型(或:float)【2】双精度型(或:double)6、【1】整型【2】字符型【3】枚举类型7、 18、 269、【1】12 【2】410、【1】6 【2】4 【3】211、 -6012、 213、【1】10 【2】614、 5.50000015、 3.50000016、 i:dec=-4,oct=177774,hex=fffc,unsigned=6553217、 *3.140000,3.142*18、 c:dec=120,oct=170,hex=78,ASCII=x19、 *d(1)=-2*d(2)=-2*d(3)=-2**d(4)=177776*d(5)=177776*d(6)=177776*20、 *d(1)=-2*d(2)=-2*d(3)=-2**d(4)=fffe*d(5)=fffe*d(6)=fffe*21、 *d(1)=3.50000e+00*d(2)=3.500e+00*d(3)=3.500e+00**d(4)=-3.50000e+00*d(5)=-3.50000e+00*d(6)=-3.5000e+00*22、 x=1 y=2 *sum*=310 Squared is: 10023、 (1) 10(2) □□□□10 (□表示空格)(3) 56.100000(4) □□□□□□3.141600(5) 5.68100e+02(6) □□□3.14160e+00(7) 3.1416(8) □□□□□□3.141624、 (1) 123.456000(2) □□□□□□□123.457(3) 123.4560(4) 8765.456700(5) □□□□□□8765.457(6) 8765.4567(7) 8765.456725、【1】可以使同一输出语句中的输出宽度得以改变。
【2】##1##□2##□□3##□□□4##□□□□526、 sjhiu27、 s=25428、 5,529、 3630、 331、 * *32、 a=-533、i%3==2&&i%5==3&&i%7==2 【2】j%5==034、【1】n%10 【2】max=t35、 sum%4==036、【1】s%10 【2】s/1037、 k=14 n=-138、 x=1,y=2039、 1,3,7,15,31,63,40、 m=4 n=241、 i<=x42、 2*x+4*y==9043、 -144、【1】1 【2】345、【1】t=t*i 【2】t=-t/i46、【1】&a,&b 【2】fabs(b-a)/n 【3】sin(a+i*h)*cos(a+i*h)47、【1】e=1.0 【2】new>=1e-648、 sum=1949、 *#50、 * * * * #51、【1】k+=2 【2】j!=i&&j!=k52、【1】m=n 【2】m 【3】m/=1053、【1】m=0,i=1 【2】m+=i54、【1】100-i*5-j*2 【2】k>=055、【1】j=1 【2】k>=0&&k<=656、【1】常量表达式【2】常量表达式57、按行主顺序存放58、【1】0 【2】459、 i*m+j+160、【1】0 【2】661、 10 4 6 8 2 4 6 12 262、【1】&a[i] 【2】i%4==0 【3】printf(―\n‖);63、【1】j<=2 【2】b[j][i]=a[i][j]【3】i<=264、 array a:1 2 34 5 6array b:1 42 53 665、【1】j=2 【2】j>=066、 The result is:16 711 12 1316 17 18 1921 22 23 24 2567、【1】i==j 【2】a[i][j]68、【1】m=100;m<1000 【2】m/10-x*10 【3】a[i]=m69、【1】x[i-1]+x[i-2] 【2】fabs((double)(x[i-1]-x[i]))【3】i+270、 The result is:1: 82: 53: 64: 3三、编成题1、 #includemain(){int day = 0, buy = 2;float sum = 0.0, ave;do{sum += 0.8 * buy;day++;buy *= 2;}while (buy <= 100);ave = sum / day;printf(―%f‖, ave);}2、 #includemain(){int i, x, y, last = 1;printf(―Input x and y:‖);scanf(―%d%d‖, &x, &y);for (i=1; i<=y; i++)last = last * x % 1000;printf(―\nThe last 3 digits of %d * * %d is: %d\n‖, x, y, last%1000);}3、 #includemain(){int i, j;float g, sum, ave;for (i=1; i<=6; i++){sum = 0;for (j=1; j<=5; j++){scanf(―%f‖, &g);sum += g;}ave = sum / 5;printf(―No.%d ave=%5.2f\n‖, i, ave);}}键盘输入:95 70 73 67 6460 65 77 86 9071 93 63 80 9087 83 91 95 89100 93 89 92 8552 63 66 70 71运行结果:N o.1 ave=73.80No.2 ave=75.60No.3 ave=79.40No.4 ave=89.00No.5 ave=91.80No.6 ave=64.404、 #define M 50main(){int a[M], c[5], i, n = 0, x;printf(―Enter 0 or 1 or 2 or 3 or 4, to end with –1\n‖);scanf(―%d‖, &x);while (x != -1){if (x >= 0 && x <= 4){a[n] = x;n++;}scanf(―%d‖, &x);}for (i=0; i<5; i++)c[i] = 0;for (i=0; ic[a[i]]++;printf(―The result is:\n‖);for (i=0; i<=4; i++)printf(―%d:%d\n‖,i c[i]);printf(―\n‖);}5、 main(){int a[5][4] = {3,6,2,1,3,9,0,8,2,1,5,6,7,2,7,4,0,0,0,0};int i, j;for (i=0; i<4; i++)for (j=0; j<4; j++)a[4][j] += a[i][j];printf(―The result is:\n‖);for (i=0; i<4; i++)printf(―%3d‖, a[4][j]);}6、 #define SIZE 30main()float b[SIZE/5], sum;int a[SIZE], i, j, k;for (k=2, i=0; i{a[i] = k;k += 2;}sum = 0.0;for (k=0, i=0; i{sum += a[i];j = i + 1;if ((i+1)%5 == 0){b[k] = sum / 5;sum = 0;k++;}}printf(―The result is:\n‖);for (i=0; iprintf(―%5.2f ‖, b[i]);printf(―\n‖);}7、 main(){int i, j, a[2][3] = {{2,4,6},{8,10,12}};printf(―The original array is:\n‖);for (i=0; i<2; i++){for (j=0; j<3; j++)printf(―%4d‖, a[i][j]);printf(―\n‖);}printf(―\nThe result is:\n‖);for (i=0; i<3; i++){for (j=0; j<2; j++)printf(―%4d‖, a[j][i]);printf(―\n‖);}}8、 main()int a [5][5], i, j, n = 1;for (i=0; i<5; i++)for (j=0; j<5; j++)a[i][j] = n++;printf(―The result is:\n‖);for (i=0; i<5; i++){for (j=0; j<5; j++)printf(―%4d‖, a[i][j]);printf(―\n‖);}}9、 main(){int a[10][10], i, j, k = 0, m, n;printf(―Enter n (n<10):\n‖);scanf(―%d‖, &n);if (n % 2 == 0)m = n / 2;elsem = n / 2 + 1;for (i=0; i{for (j=i; j{k++;a[i][j] = k;}for (j=i+1; j{k++;a[j][n-i-1] = k;}for (j=n-i-2; j>=i; j--){k++;a[n-i-1][j] = k;}for (j=n-i-2; j>=i+1; j--){k++;a[j][i] = k;}}for (i=0; i{for (j=0; jprintf(―%5d‖, a[i][j]);printf(―\n‖);}}10、 main(){int a[10], b[10], i;for (i=0; i<10; i++)scanf(―%d‖, &a[i]);for (i=1; i<10; i++)b[i] = a[i] / a[i-1];for (i=1; i<10; i++){printf(―%3d‖, b[i]);if (i % 3 == 0)printf(―\n‖);}}11、 #includemain(){char a[12] = ―adfgikmnprs‖, c;int i, top, bot, mid;printf(―Input a character\n‖);scanf(―%c‖, &c);printf(―c=\‘%c\‘\n‖, c);for (top=0, bot=10; top<=bot; ){mid = (top + bot) / 2;if (c == a[mid]){printf(―The position is %d\n‖, mid+1);break;}else if (c > a[mid])top = mid + 1;elsebot = mid – 1;}if (top > bot)printf(―* *\n‖);}12、 #include#includemain(){char a[80], b[80];int i = 0, j;printf(―Input two strings.\n‖);gets(a);gets(b);while (a[i++] != ‗\0‘);for (j=0, i--; j<5&&b[j]!=‘\0‘; j++)a[i++] = b[j];a[i] = ‗\0‘;puts(a);}13、 #include#includemain(){char a[80], b[] = ―ab‖, max;int i = 1, j;printf(―Input a string\n‖);gets(a);puts(a);max = a[0];while (a[i] != ‗\0‘){if (a[i] > max){max = a[i];j = i;}i++;}for (i=strlen(a)+2; i>j; i--)a[i] = a[i-2];a[i+1] = ‗a‘;a[i+2] = ‗b‘;puts(a);}14、 fun(int x, int y){int z;z = fabs(x-y);return(z);}15、 isprime(int a){int i;for (i=2; iif (a % i == 0)return 0;return 1;}。