C语言程序设计一 试题及答案.docx
《C语言程序设计一 试题及答案.docx》由会员分享,可在线阅读,更多相关《C语言程序设计一 试题及答案.docx(8页珍藏版)》请在冰豆网上搜索。
C语言程序设计一试题及答案
C语言程序设计
(一) 试题及答案
一、单项选择题(20分,每题2分)
1.若整型变量a、b、c、d中的值依次为:
1、4、3、2。
则条件表达式(a
a:
b)<(cc:
d)的值是。
A)1 B)2 C)3 D)0
2.for(i=0;i<10;i++)
if(i〈=5) break;
则循环结束后i的值为
A)0 B)1 C)5 D)10
3.下面正确的字符常量是:
A)“c” B)‘\\’’ C)‘W’ D)‘’
4.C语言中,运算对象必须是整型的运算符是:
A)% B)/ C)* D)+
5.数字字符0的ASCII值为48,若有以下程序
main()
{
chara='1',b='2';
printf("%c,",b++);
printf("%d\n",b-a);
}
程序运行后的输出结果是。
A)3,2 B)50,2 C)2,2 D)2,50
6.以下选项中不能作为合法常量的是。
A)1.234e04 B)1.234e0.4 C)1.234e+4 D)1.234e0
7.以下说法正确的是
A)C程序总是从第一个定义的函数开始执行
B)在C程序中,要调用的函数必须在main()函数中定义
C)C程序总是从main()函数开始执行
D)C程序的main()函数必须放在程序的开始部分
8.若有说明:
char c=‘\72’;则变量c:
A)包含一个字符 B)包含2个字符
C)包含3个字符 D)说 明不合法,c的值不确定
9.以下说法正确的是
A)C程序总是从第一个定义的函数开始执行
B)在C程序中,要调用的函数必须在main()函数中定义
C)C程序总是从main()函数开始执行
D)C程序的main()函数必须放在程序的开始部分
10.int*p1,*p2,a[10];
p1=a;
p2=&a[5];
则p2-p1的值为:
A)无法确定 B)10 C)5 D)12
二、填空题(30分,每空2分)
1.已知宏定义#define s 2+3
printf(”%d”,s*4);的输出结果是__
(1)_____。
2.若已知a=10,b=2.0,则表达式!
a
(2)______
3.已知fun1函数的功能是将三个数按由大到小的顺序调整后依次放入a,b,c三个变量中,其中a存放最大的数,利用fun2函数填空完成此功能。
void fun2(int*x,int*y)
{
int t;
t=*x;*x=*y.;*y=t;
}
void fun1()
{
int a=20,b=30,c=25;
if(c>b) fun2(__.___(3)_______);
if(aif(a
}
4.有以下程序,.执行后输出结果是 (6) 。
main()
{intt=1,i=5;
for(;i>=0;i--) t*=i;
printf("%d\n",t);
} ..
..
5.C语言函数是由函数头和..函数体两部分组成。
其中,函数头包括(7),(8)和(9)。
6.表达式(a==b)&&(a>b)的值是___(10)____。
7.将下列字符串表示成C语言的字符串常量
C:
\TC\LIB_____(11)_________
Hesaid:
"I’mastudent."___________(12)_________________
85%studentpassed.______________(13)_____________
8.下面程序的功能是..计算1-3+5-7+…-99+101的值存在s中,请填空。
#include
#include
main()
{
int i,t=1,s=0;
for(i=1;i<=101;__(14)__)
{
.
s=s+i*t;
t=__(15)___;
}
.
}
三、读程序写结果
1.写出程序的运行结果
#include
main()
{
inti,sum=0;
for(i=0;i<20;i++)
{
sum+=i;
if((i%2==0)||(i%3==0))
i+=5;
}
printf("%d",sum);
}
}
2.写出程 序运行后的输出结果
#include
char*ss(char*s)
{
returns+strlen(s)/2;
}
main()
{ char*p,*str="abcdefgh";
p=ss(str);
printf("%s\n",p);
}
3.
(1)函数sub()的功能是什么?
(2)写出程序运行的输出结果。
intsub(intnum)
{
inti,product=1;
for(i=1;i<=num;i++)
product*=2;
return(product);
}
main()
{
inti,sum=0;
for(i=0;i<=3;i++)
{
sum+=sub(i);
printf("sum%d=%d\n",i,sum);
}
}
四、编程(完形填空)(20分,每题10分)
1.找出100以内满足下列条件的正整数,并按每行4个数字的格式显示在屏幕上。
条件:
能被7整除但不能被9整除,或者不能被7整除但可以被11整除。
main()
{
int i,count=___
(1)___;
printf("\nthesenumbersare:
\n");
for(i=1;i__
(2)____100;i++)
if((i%7==0&&i%9!
=0) _(3)__(i%7!
=0__(4) _i%11==0))
{
count++;
printf("%10d",i);
if(count%4==0)
printf("___(5)_____");
}
}
2.以下程序用来对从键盘上输入的两个字符串进行比较,然后输出两个字符串中第一个不相同字符的ASCII码之差,
例如:
输入的两个字符串分别为abcd和abcfe,则输出为-2.请完成填空.
#include
main()
{
char str1[100],str2[100],c;
int i,s;
printf("\ninput string1:
\n");
gets(str1);
printf("\ninput string2:
\n");
gets(__(6)____);
i=0;
while((str1[i]==str2[i])&&(str1[i]!
=_(7)__))
___(8)____;
s=____(9)_____;
printf("___(10)_____\n",s);
}
C语言程序设计
(一) 答案:
一、单项选择题(20分,每题2分)
1.A 2.A 3.B 4.A 5.C 6.B 7.C 8.A 9.C 10.C
二、填空题(30分,每空2分)
(1) 14
(2) 1
(3) &b,&c
(4) &a,&c
(5) &a,&b
(6) 0
(7) 函数说明
(8) 函数名
(9) 圆括号中的形式参数
(10)0
(11)"C:
\\TC\\LIB"
(12)"C:
\\TC\\LIB"
(13)"Hesaid:
\"I\'mastudent.\""
(14)i+=2
(15)-t
三、写出程序的运行结果(30分,每题10分)
1. 36
2. efgh
3.
(1)函数sub()的功能是根据当前实参i的值控制其for循环的次数,进一步控制运算:
product*=2的次数。
(注:
非标准答案,表述相近既可)
(2) 运行结果:
sum0=1
sum1=3
sum2=7
sum3=15
四、编程(完形填空)(20分,每题10分)
1.
(1) 0
(2) <=
(3) ||
(4) &&
(5) \n
2.
(6) str2
(7) '\0'
(8) i++
(9) str2[i]-str1[i]
(10)%d