C语言试题
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2012年秋季学期《C语言程序设计》作业
作业提交格式要求:请同学们把答案集中单独写在一个.doc文档中,作为附件上传(不要把答案直接填写在题目的空中)。特规定格式如下:
一、 ABCDD AAAAA
二、
题号 1 2 3 4 5 6 7 8 9 10
结果 ∨ ∨ ∨ ∨ ╳ ╳ ╳ ╳ ╳ ╳
6、设a为整型变量,b为字符型变量,c为double型变量,则a+b+c为( C )型
A) int B) float C) double D) char
7、C语言中不可用作标识符的字符有( C )
A 字母
A. x=10,y=20,z=30 B. x=20,y=30,z=30
C. x=20,y=30,z=10 D. x=20,y=30,z=20
5、设a=3,b=4,c=5,则表达式 !(a+b)+c-1&&b+c/2 的值为( B )
A. 0 B. 1 C. 4 D. 6.5
A. ‘A’<=ch<=’Z’ B. (ch>=’A’) && (ch<=’Z’)
C. (ch>=’A’)& (ch<=’Z’) D. (‘A’<=ch) AND (‘Z’>=ch)
3、设有:int a=1,b=2,c=3,d=4,m=2,n=2;
三、
(1) BeiJing
ShangHai
(2) x=8,y=7
(3) r=k:i+j=90
……
以上只是举例,不是正确的输出结果。请按上述规定书写和提交作业结果,不符合以上规定的作业将作为0分处理。
鼓励独立完成作业,严惩抄袭。
第一章作业
一、将数213、12.75、79.375用十六进制表示
2、在printf()函数的格式说明符中,字符型数的输出格式说明符是 A 。
A. %c B. %f C. %ld D. %s
3、 已知ch是字符型变量,下面不正确的赋值语句是 A 。
A) ch=’a+b’; B) ch=’\0’; C) ch=’7’+’9’; D) ch=5+9;
二、 填空题。
1、当a=3,b=2,c=1时,表达式f=a>b>c的值是 0 。
2、当a=5,b=4,c=2时,表达式a>b!=c的值是 1 。
3、 15 != 8 + 7 || 4 < 5 && 3 > 9/4的结果是 1 。
4、设y为int型变量,请写出描述“y是奇数”的表达式 (y % 2)==1。
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
3、 "r"与'r'是相同的; ( F )
三、分析下列程序的输出结果。
1.
#include <stdio.h>
void main()
{
char c=’p’;
printf(“%d,%c\n”,c,c);
printf(“%d,%c\n”,’a’,’a’);
}
答案:
1. 112,p
答案:
2. 3个空格56, 3个空格15.77
第五章作业
一、 选择题。
1、下列运算符中优先级最高的是 B 。
A. < B. + C. && D.!=
2、判断char型变量ch是否为大写字母的正确表达式是 B 。
B. 在循环体内使用break语句或continue语句的作用相同
C. 只能在循环体和switch语句体内使用break语句
D. 从多层循环嵌套中退出时,只能使用goto语句(可以用多个break)
4.下述关于break语句的描述中,( C )是不正确的。
A. break语句可用于循环体内,它将退出该重循环;
97,a
2.
#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: 56 15.765 ↙
3、break语句可以出现在各种不同循环语句的循环体中。( T)
4、for循环是只有可以确定的循环次数时才可使用,否则不能用for循环。( F )
5、While循环语句的循环体至少执行一次。( F )
三填空题
1.已知 for(j=1,s=0;j<=9;j+=2) s=s+j; 执行循环后,s的值是 25 _ 。
5、整型变量 X 能被 100 整除但不能被 400 整除 (X%100==0) && (X%400!=0)。
三、 程序填空题。请在【】中填上正确内容。
1、该程序实现输出x,y,z三个数中的最大者。
main()
{int x=4,y=6,z=7;
int 【1】;
if (【2】) u=x;
else u=y;
if (【3】) v=u;
else v=z;
printf(“v=%d”,v);
}
答案:u x>y u>v
2、输入一个字符,如果它是一个大写字母,则把它变成小写字母;如果它是一个小写字母,则把它变成大写字母;其他字符不变;
B 数字
C %
D下划线
8、设int a;则表达式a=2,4,a+1的值是( C )
A.1
B.2
C.3
第六章作业
一选择题。
1、下面程序段的运行结果是 C 。
int n=0;
while (n++<=2) ; printf(“%d”,n);
A. 2 B. 3 C. 4 D. 有语法错误
2、对for(表达式1; ;表达式3)可理解为 C 。
x=7;
x+=x-=x+x;
A. -14 B. -7 C.0 D.14
二、判断题
1、 C语言标准输入操作中,gets()函数一次只可以读取一个字符。(F )
2、 C语言标准输出操作中,putchar()函数可以输出显示一个字符串。(F )
B. break语句可用于开关语句(swich)中,它将退出开关语句;
C. break语句可用于if体内,它将退出if语句;
D. break语句在一个循环体内可以出现多次;
5.执行以下程序时,从键盘输入2473↙(↙表示回车),则下面的程序的运行结果是( C )
#include <stdio.h>
{【1】; s=s+t; 【2】;}
printf(“%d\n”,s);
}
4、假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是 B 。
A) 7 B) 8 C) 6 D)2
5、已知c2为字符型,则执行语句c2=’A’+’6’-‘3’后,c2的值为 B 。
A) ‘C’ B) ‘D’ C)不确定的值 D) 70
A. 20 B.23 C. 26 D. 46
第四章作业
一、选择题
1、在scanf()函数的格式说明符中,长整型数的输入格式符是 A 。
A. %ld B. %lf C. %d D. %x
4、要使用putchar()函数必须在程序前加语句 A 。
A. #include <stdio.h>
B. include "stdio.h"
C. include <stdio.h>
D. #include 'stdio.h'
5、若x为int型变量,则执行以下语句后x= A 。
执行(m=a>b) && (n=c>d)后n的值为 B 。
A. 1 B.2 C. 3 D. 4
4、已知int x=10,y=20,z=30;以下语句执行后x,y,z的值是 B 。
if (x>y)
z=x;x=y;y=z;
2、下列变量名中, B 是合法的。
A) 56A B) _abc C) 48b D) while
3、下列常量中, B 是十六进制表示的int型常量。
A) 78 B) 0x7a C) x56 D) 063
D.4
9.设a为整型变量,b为字符型变量,c为double型变量,则a*b+c为( C )型
A. int
B. float
C. double
D. char
10. 若a是int型变量,则表达式(a=4*5,a*2),a+6的值为( C )
答案:0xD5 、 0xC.C 、 0x4f.6
二、填空
1.在C语言中,数值常量0x9f的十进制值是 159。
2.字母a的ASCII码为十进制数97。
答案:
二、
1)159
2)97
第三章作业
一、选择题:
1、下列变量名中, B 是非法的。
A) MyCar B) 4a C) my_car D) a48
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);
A. for(表达式1;0 ;表达式3) B. for(表达式1;表达式1;表达式3)
C. for(表达式1;1 ;表达式3) D. for(表达式1;表达式3;表达式3)
3、以下正确的描述是 C 。
A. continue语句的作用是结束整个循环的执行
2. while循环是先判断表达式,如果为(真),执行循环体,然后再判断表达式,直到表达式为假,退出循环 。
四程序填空题
1下面程序的功能是计算1-3+5-7+……-99+101的值
#include <stdio.h>
main()
{ int i,t=1,s=0;
for (i=1;i<=101;i+=2)
default: putchar(c+2);break;
}
}
A. 668966 B. 6688766 C. 668977 D. 66778777
二判断题
1、条件语句是可以实现多路分支的。( T)
2、任何循环语句的循环体至少都可执行一次。(F )
作业提交格式要求:请同学们把答案集中单独写在一个.doc文档中,作为附件上传(不要把答案直接填写在题目的空中)。特规定格式如下:
一、 ABCDD AAAAA
二、
题号 1 2 3 4 5 6 7 8 9 10
结果 ∨ ∨ ∨ ∨ ╳ ╳ ╳ ╳ ╳ ╳
6、设a为整型变量,b为字符型变量,c为double型变量,则a+b+c为( C )型
A) int B) float C) double D) char
7、C语言中不可用作标识符的字符有( C )
A 字母
A. x=10,y=20,z=30 B. x=20,y=30,z=30
C. x=20,y=30,z=10 D. x=20,y=30,z=20
5、设a=3,b=4,c=5,则表达式 !(a+b)+c-1&&b+c/2 的值为( B )
A. 0 B. 1 C. 4 D. 6.5
A. ‘A’<=ch<=’Z’ B. (ch>=’A’) && (ch<=’Z’)
C. (ch>=’A’)& (ch<=’Z’) D. (‘A’<=ch) AND (‘Z’>=ch)
3、设有:int a=1,b=2,c=3,d=4,m=2,n=2;
三、
(1) BeiJing
ShangHai
(2) x=8,y=7
(3) r=k:i+j=90
……
以上只是举例,不是正确的输出结果。请按上述规定书写和提交作业结果,不符合以上规定的作业将作为0分处理。
鼓励独立完成作业,严惩抄袭。
第一章作业
一、将数213、12.75、79.375用十六进制表示
2、在printf()函数的格式说明符中,字符型数的输出格式说明符是 A 。
A. %c B. %f C. %ld D. %s
3、 已知ch是字符型变量,下面不正确的赋值语句是 A 。
A) ch=’a+b’; B) ch=’\0’; C) ch=’7’+’9’; D) ch=5+9;
二、 填空题。
1、当a=3,b=2,c=1时,表达式f=a>b>c的值是 0 。
2、当a=5,b=4,c=2时,表达式a>b!=c的值是 1 。
3、 15 != 8 + 7 || 4 < 5 && 3 > 9/4的结果是 1 。
4、设y为int型变量,请写出描述“y是奇数”的表达式 (y % 2)==1。
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
3、 "r"与'r'是相同的; ( F )
三、分析下列程序的输出结果。
1.
#include <stdio.h>
void main()
{
char c=’p’;
printf(“%d,%c\n”,c,c);
printf(“%d,%c\n”,’a’,’a’);
}
答案:
1. 112,p
答案:
2. 3个空格56, 3个空格15.77
第五章作业
一、 选择题。
1、下列运算符中优先级最高的是 B 。
A. < B. + C. && D.!=
2、判断char型变量ch是否为大写字母的正确表达式是 B 。
B. 在循环体内使用break语句或continue语句的作用相同
C. 只能在循环体和switch语句体内使用break语句
D. 从多层循环嵌套中退出时,只能使用goto语句(可以用多个break)
4.下述关于break语句的描述中,( C )是不正确的。
A. break语句可用于循环体内,它将退出该重循环;
97,a
2.
#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: 56 15.765 ↙
3、break语句可以出现在各种不同循环语句的循环体中。( T)
4、for循环是只有可以确定的循环次数时才可使用,否则不能用for循环。( F )
5、While循环语句的循环体至少执行一次。( F )
三填空题
1.已知 for(j=1,s=0;j<=9;j+=2) s=s+j; 执行循环后,s的值是 25 _ 。
5、整型变量 X 能被 100 整除但不能被 400 整除 (X%100==0) && (X%400!=0)。
三、 程序填空题。请在【】中填上正确内容。
1、该程序实现输出x,y,z三个数中的最大者。
main()
{int x=4,y=6,z=7;
int 【1】;
if (【2】) u=x;
else u=y;
if (【3】) v=u;
else v=z;
printf(“v=%d”,v);
}
答案:u x>y u>v
2、输入一个字符,如果它是一个大写字母,则把它变成小写字母;如果它是一个小写字母,则把它变成大写字母;其他字符不变;
B 数字
C %
D下划线
8、设int a;则表达式a=2,4,a+1的值是( C )
A.1
B.2
C.3
第六章作业
一选择题。
1、下面程序段的运行结果是 C 。
int n=0;
while (n++<=2) ; printf(“%d”,n);
A. 2 B. 3 C. 4 D. 有语法错误
2、对for(表达式1; ;表达式3)可理解为 C 。
x=7;
x+=x-=x+x;
A. -14 B. -7 C.0 D.14
二、判断题
1、 C语言标准输入操作中,gets()函数一次只可以读取一个字符。(F )
2、 C语言标准输出操作中,putchar()函数可以输出显示一个字符串。(F )
B. break语句可用于开关语句(swich)中,它将退出开关语句;
C. break语句可用于if体内,它将退出if语句;
D. break语句在一个循环体内可以出现多次;
5.执行以下程序时,从键盘输入2473↙(↙表示回车),则下面的程序的运行结果是( C )
#include <stdio.h>
{【1】; s=s+t; 【2】;}
printf(“%d\n”,s);
}
4、假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是 B 。
A) 7 B) 8 C) 6 D)2
5、已知c2为字符型,则执行语句c2=’A’+’6’-‘3’后,c2的值为 B 。
A) ‘C’ B) ‘D’ C)不确定的值 D) 70
A. 20 B.23 C. 26 D. 46
第四章作业
一、选择题
1、在scanf()函数的格式说明符中,长整型数的输入格式符是 A 。
A. %ld B. %lf C. %d D. %x
4、要使用putchar()函数必须在程序前加语句 A 。
A. #include <stdio.h>
B. include "stdio.h"
C. include <stdio.h>
D. #include 'stdio.h'
5、若x为int型变量,则执行以下语句后x= A 。
执行(m=a>b) && (n=c>d)后n的值为 B 。
A. 1 B.2 C. 3 D. 4
4、已知int x=10,y=20,z=30;以下语句执行后x,y,z的值是 B 。
if (x>y)
z=x;x=y;y=z;
2、下列变量名中, B 是合法的。
A) 56A B) _abc C) 48b D) while
3、下列常量中, B 是十六进制表示的int型常量。
A) 78 B) 0x7a C) x56 D) 063
D.4
9.设a为整型变量,b为字符型变量,c为double型变量,则a*b+c为( C )型
A. int
B. float
C. double
D. char
10. 若a是int型变量,则表达式(a=4*5,a*2),a+6的值为( C )
答案:0xD5 、 0xC.C 、 0x4f.6
二、填空
1.在C语言中,数值常量0x9f的十进制值是 159。
2.字母a的ASCII码为十进制数97。
答案:
二、
1)159
2)97
第三章作业
一、选择题:
1、下列变量名中, B 是非法的。
A) MyCar B) 4a C) my_car D) a48
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);
A. for(表达式1;0 ;表达式3) B. for(表达式1;表达式1;表达式3)
C. for(表达式1;1 ;表达式3) D. for(表达式1;表达式3;表达式3)
3、以下正确的描述是 C 。
A. continue语句的作用是结束整个循环的执行
2. while循环是先判断表达式,如果为(真),执行循环体,然后再判断表达式,直到表达式为假,退出循环 。
四程序填空题
1下面程序的功能是计算1-3+5-7+……-99+101的值
#include <stdio.h>
main()
{ int i,t=1,s=0;
for (i=1;i<=101;i+=2)
default: putchar(c+2);break;
}
}
A. 668966 B. 6688766 C. 668977 D. 66778777
二判断题
1、条件语句是可以实现多路分支的。( T)
2、任何循环语句的循环体至少都可执行一次。(F )