当前位置:文档之家› C程序设计作业

C程序设计作业

第一章作业答案:一,59,14.4,28.e二1小题,592,15一、将数89、20.25、40.875用十六进制表示二、填空1.在C语言中,数值常量0x3b的十进制值是。

2.字母f的ASCII码为十进制数___________。

第三章作业一、选择题:1、下列变量名中, B 是非法的。

A) Tom B) 3n C) little_boy D) c102、若有以下类型说明char a; int b; float c; double d;则表达式a*b+d-c的结果类型是( A )A)float B)char C)int D)double3、若x为整型,则逗号表达式(x=4*5,x*5),x+25的结果及x的值分别是(C )正确答案是100,45A)45 20 B)125 20 C)125 45 D)100 1004、假设所有变量均为整型,则表达式(a=3,b=2,b++,a+b)的值是 C 。

A) 5 B) 8 C) 6 D)75、已知c2为字符型,则执行语句c2=’E’+’8’-‘A’后,c2的值为 C 。

A) 12 B) 11 C)不确定的值 D) 106、设a为double变量,b为int型变量,c为字符型变量,则a+b+c为( C )型A) int B) float C) double D) char7、C语言中不可用作标识符的字符有( C )A 下划线B %C 数字D 字母8、下面四个选项中,均是合法整型常量的是(D )A)160 B)- 0xcdf C)- 01 D)0x - 0xffff 01a 0668 2e59、设a为字符变量,b为int型变量,c为double型变量,则a*b+c为( C )型A. intB. floatC. doubleD. char10.若a是int型变量,则表达式(a=4*5,a*2),a+4的值为( C )A. 20B.22C. 24D. 44第四章作业一、选择题1、若x为int型变量,则执行以下语句后x= C 。

x=5;x-=x-=x+x;A. -10B. -5C.0D.102、在printf()函数的格式说明符中,字符型数的输出格式说明符是 D 。

A. %sB. %fC. %ldD. %c3、已知ch是字符型变量,下面不正确的赋值语句是 C 。

A) ch=’7’+’9’; B) ch=’\0’; C) ch=’x+y’; D) ch=5+9;4、要使用putchar()函数必须在程序前加语句 A 。

A. #include <stdio.h>B. include <stdio.h>C. include "stdio.h"D. #include 'stdio.h'5、在scanf()函数的格式说明符中,长整型数的输入格式符是 B 。

A. %lfB. %ldC. %fD. %x二、判断题1、C语言标准输入操作中,gets()函数一次只可以读取一个字符。

(Flase )2、C语言标准输出操作中,putchar()函数可以输出显示一个字符串。

(Flase )3、"a"与'a'是不同的; ( True )三、分析下列程序的输出结果。

1.#include <stdio.h>void main(){char c=’m’;printf(“%c,%d\n”,c,c);printf(“%d,%c\n”,’c’,’c’);}分别是,m,10999,c2.#include <stdio.h>void main(){int a;float d;printf(“Enter a and d: ”);scanf(“%d%f”,&a,&d);printf(“%5d,%8.2f\n”,a,d);}Enter a and d: 70 80.158 ↙输入结果,Enter a and d:70 ,80.16第五章作业一、选择题。

1、逻辑运算符两侧的运算对象的数据(D)A)只能是0和1B)只能是0或非0正数C)只能是整型或字符型数据D)可以是任何类型的数据2、判断char型变量ch是否为大写字母的正确表达式是 C 。

A. ‘A’<=ch<=’Z’B. (ch>=’A’) && (ch<=’Z’)C. (ch>=’A’)& (ch<=’Z’)D. (‘A’<=ch) AND (‘Z’>=ch)3、执行以下程序段后, b= A 。

int a=5,b=6,c=1,x=2,y=3,z=4;c=(a=c>x)&&(b=y>z);A. 6B. 0C. 1D.44、已知int x=10,y=20,z=30;以下语句执行后x,y,z的值是 B 。

if (x>y)z=x;x=y;y=z;A. x=20,y=30,z=30B. x=10,y=20,z=30C. x=20,y=30,z=10D. x=20,y=30,z=205、设a=3,b=4,c=5,则表达式 !(a+b)+c-1&&b+c/2 的值为( B )A. 0B. 1C. 4D. 6. 5二、填空题。

1、以下程序main(){int x1=3,x2=0,x3=0;if(x1=x2+x3) printf(“****”);else printf(“####”);}输出 #### 。

2、 10 != 2 + 8 || 5 < 4 && 3 > 9/43、设x为int型变量,表示某一年份,请写出描述“x是闰年”的表达式x%4==0&&x%100!=0)||x%400==0。

4、整型变量 y 能被 3 整除但不能被 4 整除。

三、程序填空题。

请在【】中填上正确容。

1、该程序实现输出x,y,z三个数中的最大者。

main(){int x=4,y=6,z=7;int 【1】;if (【2】) m=x;else m=y;if (【3】) n=m;else n=z;printf(“n=%d”,n);}答案:m x>y n>m2、输入一个字符,如果它是一个大写字母,则把它变成小写字母;如果它是一个小写字母,则把它变成大写字母;其他字符不变;main(){ char ch;scanf(“%c”,&ch);if (【1】) ch=ch+32;else if (ch>=’a’ && ch<=’z’ ) 【2】;printf(“%c”,ch);}答案: (ch>=’A’ )&&( ch<=’Z’) ch=ch-32第六章作业一选择题。

1、设有程序段int x=10;while(x=0) x=x-1;则下面描述正确的是(C )。

A)while循环执行10次B)循环是无限循环C)循环体一次也不执行D)循环体只执行一次2、对for(表达式1;;表达式3)可理解为 C 。

A. for(表达式1;0 ;表达式3)B. for(表达式1;表达式1;表达式3)C. for(表达式1;1 ;表达式3)D. for(表达式1;表达式3;表达式3)3、语句while(!y);中表达式!y等价于(A )A)y= =0 B)y!=1 C)y!=0 D)y= =14.下述关于break语句的描述中,( C )是不正确的。

A. break语句可用于循环体,它将退出该重循环;B. break语句可用于开关语句中,它将退出开关语句;C. break语句可用于if体,它将退出if语句;D. break语句在一个循环体可以出现多次;5.执行以下程序时,从键盘输入2473↙(↙表示回车),则下面的程序的运行结果是( C )#include <stdio.h>main( ){ int c ;while((c=getchar( ))!= ’\n’)switch(c-'2'){ case 0:case 1: putchar(c+4);case 2: putchar(c+4);break;case 3: putchar(c+3);default: putchar(c+2);break;}}A. 668966B. 6688766C. 668977D. 66778777二判断题1、While循环语句的循环体至少执行一次。

( false )2、任何循环语句的循环体至少都可执行一次。

( false )3、break语句可以出现在各种不同循环语句的循环体中。

( true)4、for循环是只有可以确定的循环次数时才可使用,否则不能用for循环。

(false )5、条件语句是可以实现多路分支的。

(true )三填空题1.已知 for(j=1,s=0;j<=5;j+=2) s=s+j;执行循环后,s的值是 9 _ 。

2. 执行以下程序段后,y= 8 _ ,x= 2 _ 。

int x=1,y=10;do{y-=x;x++;}while(y--<0);四程序填空题1下面程序段的功能是将字符串s中所有的字符c删除,请填空.main(){char s[80];int I,j;gets(a);for(i=0,j=0;s[i]!=’\0’;i++)if(s[i]!=’c’) ( 【1】) ;s[j]=’\0’;puts(s);}答案:else第七章作业一、选择题1、以下能对二维数组正确初始化的是(D )A)int y[2][ ]={{1,0,1},{5,2,3}}B)int y[ ][3]= {{1,0,1},{5,2,3}}C)int y[2 ][4]= {{1,0,1},{5,2},{3}}D)int y[ ][3]= {{1,0,1,0},{ },{5,2}}2、若二维数组y有m列,则在y[i][j]前的元素个数为(B )A j*m+IB i*m+jC i*m+j-1D i*m+j+13、已知 int w[2][4]={7,15,8,9,20,25,14,17};则 w[0][1]的值是 C(15)A 8 B.9 C. 15 D. 254、若有说明 int a[][3]={1,2,3,4,5,6,7, 8};则a数组第一维的大小是 A 。

A. 2 B无确定值 C. 3 D. 45、若有说明 int a[][4]={{1, 2, 3}, {4, 5}, {}};则a数组第一维的大小是 D 。

A. 2 B无确定值 C. 3 D. 语法错误6、下面程序的运行结果是。

char c[6]={‘a’,’b’,’c’, ’\0’,’c’,’\0’}; 答案是abc (B)printf(“%s”,c);A. ‘a’’b’B. abcC. ab cD. ab7、判断字符串a和b是否相等,应当使用 D 。

相关主题