⑴ c语言练习题----求答案解
我回答了
二、单项选择题(每小题2分,共40分)
1、表达式2,4,6,8的值为(D )
A.2 B.4 C.6 D.8
2、设有int i;则表达式(i=1,i=10)?i++||++i:++i的值为 (A ) A.1 B.2 C.3 D.10
3、设有int a[ ]={10,11,12},*p=&a[0];则执行完*p++;*p+=1;后a[0],a[1],a[2]的值依次是 ( B) A.10,11,12 B.11,12,12 C.10,12,12 D.11,11,12
4、在C语言程序中,下面哪一个是正确的? (B )
A 函数的定义可以嵌套,但函数的调用不可以嵌套。
B 函数的定义不可以嵌套,但函数的调用可以嵌套。
C 函数的定义可以嵌套,函数的调用也可以嵌套。
D 函数的定义和函数的调用都不可以嵌套。
5、设有说明int s[2]={0,1},*p=s; 则下列错误的C语句是 (A ) A.s+=1; B.p+=1; C.*p++; D.(*P)++;
6、若有以下说明和语句,则输出结果是 (C)
char str[]=”\”d:\\file.dat\””;
printf(“%s”,str);
A 字符串中有非法字符 B \”d:\\file.dat\”
C “d:\file.dat” D “d:\\file.dat”
7、程序要正确的运行,必须要有 (C )
A printf 函数 B 自定义函数 C main函数 D 不需要函数
8、已知整型变量a=6,字符型变量ch=’A’,(大写字母A的ASCII码为65),则表达式 ch+a的值是 (B)
A 69 B 71 C 4 D 出错
9、下面程序运行后,屏幕上显示 (D )
void main()
{
int a=4;float b=9.5;
printf(“a=%d,b=%6.4f”,a,b);
}
A a=%d,b=%f\n B a=%d,b=%f C a=4,b= 9.50 D a=4,b=9.5000
10、若i=2,则语句printf(“%d,%d”,i, ++i);的输出结果是 (C)
A 2,2 B 3,3 C 2,3 D 3,2
11、int a=2,b=8;则在表达式a<b&&b=20后a,b的值分别为:(C )
A 2,8 B 2,10 C 2,20 D 2,6
12、若x=3,则语句:while(x){x--;continue;}的循环次数为 (D )
A 0 B 1 C 2 D 3
13、如果要把常量300存入变量a中,a不可以定义成哪个类型?( B)
A int B char C long D float
14、有输入语句scanf(“a:%d,b:%d”,&a,&b);输入数据时应怎样输入。(D )
A 4 5 B 4,5 C a=4,b=5 D a:4,b:5
15、设a为整形变量,不能正确表达数学关系:10<a<15 的C语言表达式是(A )
A) 10<a<15 B) a==11||a==12||a==13||a==14
C) a>10&&a<15 D) !(a<=10)&&!(a>=15)
16、下列变量中,哪个属于构造类型的变量。(D )
A 整型变量 B 实型变量 C 字符型变量 D 结构体类型变量
17、下面的命令中哪一个不属于预处理命令。(B )
A #define max 20 B #include <stdio.h>
C #ifdef MM D typedef a int;
18、C程序的结构有哪些类。(多选)( ABD)
A 选择结构 B 循环结构 C 程序结构 D 顺序结构
19、循环结构有哪些类。(多选) ( ACD)
A for结构 B if结构 C while结构 D do…while结构
20、若x=4,y=2,a=3,则表达式x=(y==a)执行完后,x的值是 (A )
A 0 B 1 C 3 D 4
⑵ C语言试题求答案
判断题
1.C程序中最基本的单位是函数( )。正确 程序时由函数构成的
2.a-2是一个正确的标识符( )。 错误 -非法字符
3.1/2的值是0.500000( )。 错误 0
4.fabs(-5)的值是25( )。 错误 5
5.(i+2)++是正确的表达式( )。 错误 ++要求是变量
6.3&&4的值为1( )。 正确
7.在C语言中表达式ch=”abcdef”是正确的( )。错误 字符串不能直接赋值
8.经过编译后,但未链接的文件扩展名为obj( )。正确
9.在C语言中是区分大小写的( )。 正确
10.一个C程序可以有多个文件构成( )。 正确
二、填空题(38分,共8小题,1~5每小题4分,6~8每小题6分,把正确答案按题号填入表格内)
1.在C程序设计中,把编辑好的源程序进行编译后成为 目标(obj) 文件,进行链接后成为 可执行(exe) 文件。
2.有一字符ch,写出判断ch为大写字母的表达式。
ch>='A'&&ch<='Z'
3.已有定义:int x=4,y;
y=x++;
请写出y的值。 y的值为4
4.已有定义:int x=012;要求输出为:**** x=10 &&
请写出用x表示的printf语句。
printf("**** x=%d &&",x);
5.已有定义:int x,y;x、y的值从键盘输入,键盘输入形式为:20,30,其中20赋给x,30赋给y,请写出用scanf表示的输入语句。
scanf("%d,%d",&x,&y);
6.有循环语句:
y=0;
x=10;
while(x<=20)
{
y=y+x;
x++;
}
写出与它等价的for语句。
for(x=10,y=0;x<=20;y+=x,x++);
从键盘输入一个整数n,调用函数sum求s=1/1+1/2+1/3+1/4+…+1/n,在main函数中输出结果,请填空。
#include<stdio.h>
double sum( int a)
{
int i;
double s=0;
for(i=1;i<=a;i++)
s+=1/i;
return s;
}
int main()
{
int n;
double ss;
scanf("%d",&n);
ss=sum(n);
printf("ss=%lf\n",ss);
}
定义一结构体
struct kk
{
int a;
char s[20];
};
定义一个结构体数组struct kk x[5];从键盘输入结构体数组,输出数组中最大成员a及s。
#include<stdio.h>
struct kk
{
int a;
char s[20];
};
int main()
{
struct kk x[5];
int i,max,k;
for(i=0;i<5;i++)
scanf("%d %s",&x[i].a,x[i].s);
max=x[0].a;
for(i=1;i<5;i++)
if( x[i]>max )
{
max=x[i].a;
k=i;
}
printf("最大值 %d 及姓名为%s\n",x[k].a, x[k].s );
return 0;
}
三、程序阅读题(18分,共3小题,每小题6分,把正确答案按题号填入表格内)
阅读下列程序,写出程序的运行结果。
#include<stdio.h>
int main( )
{
int x=0x10,y=010;
printf(“x=%d y=%x\n”,x,y);
return 1;
}
结果:x=16 y=8
阅读下列程序,写出程序的运行结果。
#include<stdio.h>
int main( )
{
char ch='C';
int x=3;
switch(ch-'B')
{
case 1:x=x+2; break;
case 1+1:x=2*x;
default:x=x-5; break;
case 3:x=x/2;
}
printf("x=%d\n",x);
}
结果:x=5
阅读下列程序,写出程序的运行结果。
#include<stdio.h>
int main()
{
int x,*p,a[10]={0,10,20,30,40,50,60,70,80,90};
p=&a[4];
x=*p++;
printf("%d ",x);
x=++*p;
printf("%d ",x);
x=*++p;
printf("%d ",x);
printf("\n");
return 0;
}
结果:50 51 60
四、程序设计题(24分,第1题10分,第2题14分)
1.键盘输入一批整数,输入0时结束,偶数输出,奇数相加,最后输出奇数的和。
#include "stdio.h"
int main()
{
int a,i,s=0;
scanf("%d",&a);
while(a)
if(a%2) s+=a;
else printf("%d ",a);
printf("\n奇数和为:%d\n",s);
return 0;
}
2.在main函数中定义一个整型数组int a[10],编写一个输入函数input,输入这个数组的所有元素,编写一个求数组最大值的函数max,求这个数组中的最大元素,在main函数中输出数组最大值。
#include "stdio.h"
void input(int a[10])
{
int i;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
}
int max(int a[10])
{
int m,i;
m=a[0];
for(i=1;i<10;i++)
if(m<a[i]) m=a[i];
return m;
}
int main()
{
int a[10];
input();
printf("最大值为%d",max(a));
}
有问题可以到我空间留言,会帮你解答的,祝顺利!
⑶ 求C语言练习题答案
二、填空题
1. ___变量__是指在程序运行过程中,值可以发生变化的量。
2.C语言是一种____区分_(区分/不区分)字母大小写的语言,Password和password在C语言中是两个___不同__(相同/不同)的标识符。
3.下面的转义字符分别表示:
’\b’__退格___,’\n’__换行___,’\t’__水平制表___,’\地’ __双引号字符逗"地___
4.下面常量的类型分别为:
1.5E12__浮点型___,1288L _整型____,’a’__字符___,"a"__字符串___
08 __整形___,’\007’__整型___
5. C语言源程序一定要有而且只有一个__主函数___函数,程序执行时也从它开始。
6. 结构化程序设计主要有___顺序__、__选择___和__循环___三种基本结构。
三、判断题
1. C语言不是一种结构化程序设计语言。(错)
2. C语言是弱类型语言,为了类型转换的方便,对类型的要求很不严格,在许多情况下不做类型检查。(对)
3. C语言既具有高级语言的特点,同时也具有部分低级语言的特点。(对)
4. C源程序可以由多个文件组成,每个文件中都可有一个主函数main()。(错)
5. C程序从main()函数开始执行,因此主函数main()必须放在程序的开头。(错)
6. 命名标识符时字符个数不得超过6个。(错)
7. 对于同一个数据种类型,变量值越大,它所占内存的字节数越多。(错)
8. 定义一个变量时必须指出变量类型,但是不一定必须给变量初始化。(对)
9. ""表示一个空字符串常量,’’表示一个空字符常量。(对)
10. 一个表达式中出现多种数值型数据类型,运算前先进行类型转换。(对)
11. 浮点数不能作自增或自减运算,只有整型才可作自增或自减运算。(错)
12. 已知a、b是整型变量,则表达式a=3,2+4,b=6,7+8是一个逗号表达式。(对)
四、问答题
1. 写出下面表达式的值
(1)12/3*9=36
(2)int i=3,j;
i*=2+5;
i/=j=4;
i+=(j%2);
i、j的最终结果是多少看i=5,j=4
(3)int a=3,b,c;
b=(a++)+(a++)+(a++);
c=(++a)+(++a)+(++a);a、b、c的最终结果是多少看a=9,b=9,c=25
2. 下列表达式是否正确?若正确,表达式的值是什么?
21/2=10 21/2.0= 10.5 21.0/2=10.5 21%2=1 21.0%2 21%2.0 18%15=3 15%18=15 3%15=3
五、编程题
编写程序,在屏幕上输出如下信息:
===================
= I am a student. =
===================
#include"stdio.h逗
void main()
{
printf("= I am a student. =");
}
⑷ ★C语言 字符变量 若有定义语句:char a='\82';则变量a。。 答案是说明不合法,我选的
不能,你可以这样
a = 82;
或者你可以如下这样
a = '\122';
⑸ 谭浩强《c语言程序设计》P82页第一题第一问的答案(在《学习辅导》上)是不是给出的是错的
这时基本的利率公式,你可以查下数学书.我也觉得他错了。不可能是年在括号外面。他的意思是P 本金×5 ×(1+利率)这不是很下吓人吗?我1000块钱,存到银行5年以后变5千多,可能吗?你仔细看看他的括号视乎是没有用的,第三个边括号是印刷错误。我是这样觉得的。还有好多人说谭某的书启蒙实在不怎么样?建议看看其他书《c语言程序》,以及《c primer plus》.
⑹ 急求!!C语言课后习题答案!2
以前上课的时候不想做,现在很想补下,很后悔没好好学习呢~希望楼主好好努力
第4道1):
#include<stdio.h>
void main(void)
{
int i,j,a[80],max,max_i;
printf("please input 10 num!\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
printf("the 10 num is:\n");
for(i=0;i<10;i++)
printf("%d\t",a[i]);
for(max=a[0],i=0;i<10;i++)
{
if(max<a[i])
{
max=a[i];
max_i=i;
}
}
printf("the max num is:a[%d]=%d\n",max_i+1,max);
getch();
}
2)道:
#include<stdio.h>
void main(void)
{
int a[3][2],i,j,sum[3];
for(i=0;i<3;i++)
{
printf("please input the score of the student %d\n",i+1);
scanf("%d%d",&a[i][0],&a[i][1]);
sum[i]=a[i][0]+a[i][1];
}
for(i=0;i<3;i++)
{
printf("the score of the student %d is:%d\t%d\n",i+1,a[i][0],a[i][1]);
printf("the sum score of the student %d is:%d\n",i+1,sum[i]);
}
getch();
}
3)道:
#include<stdio.h>
#include<string.h>
main()
{
int i;
char string1[80],string2[80];
printf("please input the string 1\n");
scanf("%s",string1);
printf("please input the string 2\n");
scanf("%s",string2);
if(strcmp(string1,string2)==0)
printf("the 2 string is the same\n");
else
printf("the 2 string is different\n");
getch();
}
第5道:
#include<stdio.h>
main()
{
float c,f;
printf("please input the F\n");
scanf("%f",&f);
c=(f-32)*5/9;
printf("the convert result is:%.2f\n",c);
getch();
}
小问:
float convert(float a)
{
float b;
b=(a-32)*5/9;
return b;
}
main()
{
float c,f;
printf("please input the F\n");
scanf("%f",&f);
c=convert(f);
printf("the convert result is %.2f\n",c);
getch();
}
第6道:
#include<stdio.h>
main()
{
int x,y,*p1,*p2;
printf("please input the 2 nums;\n");
scanf("%d%d",&x,&y);
swap1(x,y);
printf("the swap1 result is:%d\t%d\n",x,y);
p1=&x;
p2=&y;
swap2(p1,p2);
printf("the swap2 result is:%d\t%d\n",*p1,*p2);
getch();
}
swap1(int x,int y)
{
int temp;
temp=x;
x=y;
y=temp;
}
swap2(int *p1,int *p2)
{
int temp;
temp=*p1;
*p1=*p2;
*p2=temp;
}
6.2)
#include <stdio.h>
void main()
{
char s[80];/*定义一个数组*/
char c;
printf("which style you want to:\n");/*是\不是|*/
printf("capital ( c ) or uncapital(a):");
c=getchar();
if(c=='c')/*是==不是=*/
strcpy(s,"COMPUTER");
else
strcpy(s,"computer");
puts(s);
getch();
}
第七道
struct student
{
char num[8];
char name[80];
float score;
}stu[4];
main()
{
int i,max,max_i;
for(i=0;i<4;i++)
{
printf("input the num of student %d\n",i+1);
scanf("%s",&stu[i].num);
printf("input the name of student %d\n",i+1);
scanf("%s",&stu[i].name);
printf("input the score of student %d\n",i+1);
scanf("%f",&stu[i].score);
}
for(max=stu[0].score,i=0;i<4;i++)
{
if(max<stu[i].score)
{
max=stu[i].score;
max_i=i;
}
}
printf("the highest score student is student%d\n",max_i+1);
printf("%s\t%s\t%.2f\n",stu[max_i].num,stu[max_i].name,stu[max_i].score);
getch();
}
第八道:
Java的行不,C++的不记得了。
public class Circle
{
private static double PI=3.14
private double radius;
public Circle(double radius)
{
this.radius=radius;
}
public double Area()
{
return PI*radius*radius;
}
public double Perimeter()
{
return 2*PI*radius;
}
}
⑺ ★C语言 字符变量 若有定义语句:char a='\82';则变量a。。 答案是说明不合法,我选的
c语言实际上没有字符串这一概念,只有字符数组或字符指针
定义字符变量,可以
char
a='\0';
⑻ c语言,求答案,以及解释
28、ADD(2,2+3)替换为2*2+3所以为7
29 D r+是可读写模式
30 A p是一个指针,指向a[2],取指针的值就是(*p)
⑼ C语言程序设计 答案
A
**0**
**2**
C
同学,你是在问题,还是在对题,还是在??
你具体不懂什么呢。
这些都是简单的循环类,条件类。
比如说switch
中的break对switch有效,遇到break,则就近的switch跳出。
continue只对循环有效,而对switch无效。
还有if
else
是选择结构的,即选择了if,则执行if后的语句,else部分的不看。
还比如说++a和a++
前者先自增,后使用,后者先使用,后自增。
再比如说变量的使用范围,即从定义处往下就是他的作用域。
有静态的,具备继承性 static
有扩展的,当你在别的函数中也想使用下面定义的变量时,就可以用extern
还有局部的,在一个函数中的a,与另一个函数中的a,此a非彼a
当变量定义在符合语句里时,他的作用域仅仅局限于此复合语句。。其他同名变量,并非此变量。
请问还有什么不懂的么。