c语言程序设计简答题汇总(c语言程序设计操作题题库)
本篇文章给大家谈谈c语言程序设计简答题汇总,以及c语言程序设计操作题题库对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
C语言程序设计,简答题,求正解啊.
1. 以下程序的输出结果是什么。
#includestdio.h
void main( )
{
int a=1,b=0;
switch(a) {
//switch选择语句,a = 1,那么就选择case 1执行.
case 1://注意此处case 1没有break,所以后面的case 2也执行.
switch(b) {
//switch选择语句,b = 0,那么就选择case 0执行.
case0: printf(“0”); break;
//执行case 0,输出0,它有break终止语句,所以后面的case 2就不执行了.
case 1:printf(“1”); break;
}
case 2: printf(“2”); break;
//执行case 2,输出2.
}
}
//总的输出结果:02
//知识点:理解选择分支结构,case遇到break才会终止后面的执行.
2. 以下程序的输出结果是什么。
#includestdio.h
void main( )
{
inta=3,b=2,c=1;
//a、b、c的作用域在main函数内.
{
int b=5,c=12;
//b、c的作用域在{}内.
c-=b*2;
//此时b、c调用的值是{}内的b = 5、c = 12,那么c = 12 - 5*2 = 2
a+=c;
//此时的a是调用的main函数的a = 3, c调用的是c = 2. 即结果a = 3 + 2 = 5.
}
printf(“a=%d,b=%d,c=%d\n”,a,b,c);//此时a、b、c都是调用的main函数内的变量,a有经过操作,a = 5,b、c没有经过操作,b = 2,c = 1.
}
//总的输出结果为:a=5,b=2,c=1
//知识点:考查变量的作用域,记住自动变量的作用域只在{}内,超出作用域就不生效了.
3.以下程序的输出结果是什么。
#includestdio.h
int main(void)
{
intx=1,y=2,z=2;
if(x) z += 1;
//x0为真,执行z += 1; z变为3
if(!y) z += 2;//!y 0为假,不执行.
if(z) z += 3;
//z0为真,执行z += 3; z变为6
printf("%d\n",z);
//输出6
return 0;
}
//总的输出结果为:6
//知识点:对if语句的判断条件,真执行、假不执行.
4 以下程序的输出结果是什么。
#includestdio.h
int main(void)
{
int a=3,b=4,c=5,d=6;
if(ab)
//ab为假,所以后面的语句不执行.
if(bc) printf("%d", c);
else printf("%d",b);
//注意这里,else总是与上面的if匹配.
printf("%d\n",d);
//输出d = 6,没有经过任何语句操作.
return 0;
}
//总的输出结果:6
//知识点: else总是与最近的if匹配.
5. 以下程序的输出结果是什么。
#includestdio.h
void main( )
{
ints,t,a,b;
a=2;b=4;
s=t=1;
if(a0) s+=1;
//a0为真,执行s += 1;s变为2
if(ab) t=s+t;//ab为假,所以执行else语句,else为if下面的第一个,最近的.
else
if(a= =b) t=5;
//执行if( a == b )不成立,所以执行else语句,else为if下面的第一个,最近的.
else t=2*s;
//执行t = 2*s;即t = 2*2 = 4.
printf(“%d\n”,t);
}
//总的输出结果为:4
//知识点: else总是与最近的if匹配.(if找它下面的第一个else,else找它上面的第一个if,前提是if、else没有括号()限制优先级)
C语言程序设计2015A卷-
一、判断题(每小题1分,共15分)
1.标准C中,只有数值型数据才能进行4则混合运算。
2.标准C中,_a是合法的自定义标识符。
3.有定义:float f;表达式f+=(int)3.6%2”不符合C语言语法。
4.标准C中,逻辑运算的结果只有是1表示满足条件,而结果是0表示不满足条件。
6.以下运算符排列顺序满足按照优先级从高到低的排列:‘’、‘!’、‘==’、‘-’。
7.语句for(;;);是非法的。
8.在C语言程序中可以由多个源文件构成,每个源文件都可以有自己的main()函数。
9.while和do-while的主要区别是后者至少无条件执行一次。
10.数组名代表数组的首地址是常量,所以将实参数组名表示地址传给形参数组名是错误的。
11.当函数没有返回值类型时,表示函数类型为void。
12.C语言中,指针变量作函数参数时,它们不是采取单向值传递的方式。
13.一个函数中只允许有一条return语句。
14.在C语言中,如果没有说明变量的存储类型是auto类型的。
15.由于指针中所存放的地址都是整数,所以整型指针和浮点型指针可以相互赋值。
二、填空题(每空1分,共15分)
1. 若a=4;b=5,c=6;则表达式c==(b=-a); 中c的值是 (1) 。
2. 计算表达式的值:
4&&-4的值: (2) ;
设int a=3,b=4,c=5,则表达式a||b+cb==c的值: (3) ;
设x=2.5, a=7, y=4.7,则表达式x+a%3*(int)(x+y)%2/4的值: (4) ;
设a=12,则表达式a*=a/5的值: (5) ;
3. 若int x = 4,y = 6,z = 0;有循环while(x = y) {z ++;y--;}
则循环语句执行完后,z值为 (6) 。
4. 变量的指针就是指该变量的 (7) 。
5. 若有定义int (*p)[4],则标识符p是 (8) ;若有定义int *p[4],则标识符p是 (9) ;
6. 已有定义:char *p[ ]={“France”,“Chinese”,“Russia”,“America”};则语句printf(“%s”,p[2]);printf(“%c”,*(p[1]+2));printf(“%c”,*(*(p+1)+1));
的输出结果分别为: (10) 、 (11) 、 (12) 。
7. 已有定义: int x=65; 若格式化输出结果为“A, 65”,则对应的格式化输出语句为printf(“ (13) , (14) ”, x, x)。
8. 已定义:int a[][2]={1, 2, 3, 4, 2, 6, 7, 2};则a[3][0]= (15) 。
三、简答题(每题4分,共12分)
1、简述选择语句if和else语句对与switch语句的区别。
2、简述在循环语句中,break和continue的区别。
3、若int a[5],*p=a;简述*p++和(*p)++的区别。
四、下列各程序中每个程序各有2个错误,指出错误语句,写出对应正确语句(每小题4分,共16分)
五、程序填空题:下列程序中缺少若干条语句,在对应的下划线上填上合适的语句,每一个下划线只填一条语句(每小题6分,共24分)
六、阅读下列程序,写出运行结果(第一小题4分,第二小题6分,共10分)
七、编程题(8分)
编译程序,其功能是比较字符串的大小( 不允许 用系统提供的字符串比较函数strcmp)。要求是:
(1) 通过主函数调用一个函数strcompare来实现。
(2) 要求函数strcompare实现两个字符的比较:如第一个字符小于第二个字符则返回一个负值;如两个字符相等则返回0值;如第一个字符大于第二个字符则返回一个正值。
(3) 并输出两个字符串中相同部分的子串。
《C语言程序设计基础》试卷参考答案
一、判断题(每小题1分,共15分)
1~5 ; 6~10 ; 11~15
二、填空题(每空1分,共15分)
(1) 6 (2) 1 (3) 1 (4) 2.5 (5) 24 (6) 6
(7)地址 (8) 行指针,指向有四个元素的一维数组
(9)指针数组名,该数组有四个元素,每个元素都是指针
(10)Russia (11)i (12)h (13) %c (14) %d (15)7
三、简答题(每题4分,共12分)
1、if总是判断其后面的表达式的值是否为非零值,如是非零值则执行其后面的语句或由{}括起来的复合语句,否则执行else后面的语句。而switch语句则根据其后面表达式的可数值来判断,执行switch语句体内与其中的一个case:常量值相等语句后面的语句。执行break语句后,跳出switch语句体。
2、break是终止整个循环过程;continue是终止本次循环。
3、*p++首先取a[0]的值,然后p指向a[1];(*p)++使得a[0]的值自增1,但p保持不变。
四、下列各程序中每个程序各有2个错误,指出错误语句,写出对应正确语句(每小题4 分,共16分)
1、 (1)缺#include ; (2)scanf(“%f”,a); 改为 scanf(“%f”,a);
2、 (1)缺sum=0; (2)for(i=1; i=3; i++) 改为for(i=0;i3;i++)
3、 (1)p1=p2 改为 *p1=*p2 (2)swap(a, *p) 改为swap(a, p)
4、 (1)在if(m0)语句后添加else if(m==0) a=1; (2) 添加 return(a);
五、程序填空题:下列程序中缺少若干条语句,在对应的下划线上填上合适的语句,每一个下划线只填一条语句(每小题6分,共24分)
1、 (1)x=0; (2)if(n==x) (3)s++;或s=s+1;
2、 (4)num[i] (5)max num[i]? (6)num[i]!=0
3、 (7)n-i-1 (8)a[j]a[j+1] (9)a[j+1]=temp
4、 (10)count=0; (11)n%10 (12)n0或n!=0或n
六、阅读下列程序,写出运行结果(第一小题4分,第二小题6分,共10分)
1、 #*#*#*
2、 main i=1 j=2 k=2
sub i=1 j=2 k=1 x=2
sub i=1 j=2 k=1 x=3
七、编程题(8分)
#include
main()
{
int i,j, flag=0;
char str1[90],str2[90];
gets(str1);
gets(str2);
i=0;
do{
flag=strcompare(str1[i],str2[i]);
i++;
}while(str1[i]!=’’ str2[i]!=’’ flag=0);
if(flag0)printf(“%s小于%s ”,str1,str2);
else if(flag==0) printf(“%s 等于%s ”,str1,str2);
else printf(“%s大于%s ”,str1,str2);
printf(“两个字符串中相同的字串为:”);
j=0;
i--; 后3句可用str1[i]=’’; printf(“%s”,str1);代替//用str2也可以。
while(ji){printf(“%c”,str1[i]);j++;} span="" /i){printf(“%c”,str1[i]);j++;}
}
int strcompare(char c1,char c2)
{
int v;
v=c1-c2;
return v;
}
C语言简答题1
5
5
1
main
(
)
{
int
x
,
y=1
,
z;
if
(
y
!=
)
x=5;
//y!=0
返回成功
故x
=5
printf(“\t%d\n”
,
x);
//输出
5
if
(
y
=
=0
)
x
=
4;
//y==0返回失败
else
x
=
5;
//执行
x
=5
printf(“\t%d\n”
,
x);
//输出
5
x
=1;
//赋值
if
(
y
0)
//这里太乱了
下次注意格式
if(
y
0)
x=4;
else
x
=
5;
printf(“\t%d\n”
,
x);
}
关于c语言程序设计简答题汇总和c语言程序设计操作题题库的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。