C语言程序设计试题

.1. 有一函数y=x+12 (x大于0) .y=5x-7 (x大于等于0)
实现算法,输入x值,输出y值,请填空使程序完整。
Void main ()
{ int i , x , y ;
Scamf (“%d”, &x );
If ( _____) y=x+12;
Else (______) ;
Printf (“%d ”, y );
}
.2 . 编写程序实现两个数互换,请填空使 完整
Void main ()
{ int temp , x , y ;
Scamf (“%d %d ”, &x, &y );
Temp = x;
(________);
(______);
Printf (“%d , %d ”, x, y );
}
.3. 判断m是否是素数,请填空使程序完整
#include <stdio. h >
#include <math . h >
Void main ()
{ int m , I , k ;
Scamf (“%d”, &m );
k=sqrt (m);
for (i=2; i<=k ; i ++ )
if (_________ ) bresk ;
if ( _________ ) printf (“%d is a prime number \ n” ,m )
else printf (“%d is not a prime number \ n ” , m )
.4. 打印出所有的“水仙花数”, 所谓“水仙花数”是指一个3位数,其各数字立方之和等于该数本身,请填空使程序完整。
. void main()
{ int n .i. j, k ;
For (n=100; n<1000; n++ )
{
.i=(____________ );
.j=n/10- i*10 ;
.k=n%10;
.if(n==______________ )
.printf (“%d” , n ) ;
}
}

.4. 下面程序的功能是从键盘输入一组字符,从中统计大写字母的个数,分别用m与n记录,请填空使程序完整。
Void main ()
{ int m=0,n=0;
Char c ;
While ((_________) ! =”\n”) {
If (c>=’A’&& c<=’Z’ ) m++;
If (c>=’a’ && c<=’z’ ) ____________ ;
Printf (“%d %d”,m,n );
}
.5. 下面程序的功能是输出1至100之间每位数的乘积大于每位数的和的数,请填空使程序完整。
Void main ()
{ int n ,k=1 , s=0 , m;
For ( n=1 ; n <=100; n++ ) {
K=1 ; s=0 ;
_________;
While (________)
{
K*=m%10;
S+=m%10;
________;
}
三。 15.有一下程序
Main()
{ int m=3,n=4,x;
x=-m
x=x+8/++n
printf(“%d\n”,x);
程序运行后的输出结果是( )
16.但输入为“China?”时下面程序的输出结果是
#include<stdio.h>
Void main()
{ while(putchar(getchar( ) )1=’
A China B china C Chian? D CHINA?
17.C语言中,字符(char)型数据在微机内存中的存储的值是它的( )
A 反码 B ASCII码 C EBCDIC码 D 补码
18.以下程序的输出结果是 ( )
Main ()
{ char c=’0’; printf(“%d,%c”,c,c); }
A 因输出格式不合法,无正确输出 B 48,0 C 0,0 D 48,48
19.定义二维数组:inta[][3]={1,2,3,4,5,6,7,8,9,10};则a数组第一维的大小。。。
(D)
A 2 B 3 C 4 D 不确定组
21.若有定义:int x,*pb;,则以下正确的赋值表达式是 ()
A.pb=&x B.pb=x C.*pb=&x D.*pb=
23.若有以下说明和语句,已知int和fioat类型分别占2和4个字节,则变量our所占的字节数为( )
Typedef struct
{char c;
int a[3];
float f;
}TY;
TY our;
3.若有说明:int [3][4]:则对a数组元素的非法引用是()
A a[0][2*1] B a[1][3] c a[4-2[][0]
4.以下对C语言函数的有关描述中 正确的是 ( )
A 在C中,调用函数时 只能把实参的。。。。。。。。。
B C函数既可以嵌套定义有可以递归调。。。。。。。
C 函数必须有返回值。否则不能使用、、、、、、
D C程序中有关调用关系的所有函数必须、、、、
6.TURBO C 中long类型变量所占的字节数是( )
7. 有函数调用语句func((exp1,esp2),(exp3,exp4.exp5));则含有实参个数为()
A 1 B 2 C 4 D 5
8. 一下程序的输出结果是( )
Main ( )
{int a=20,b=3;print(“%d\n”,x%y);}
A 1 B 2 C 3 D 6
11.下面程序运行结果是( )
#include<stdio.h>
#define ADD(x) x+x
Void main()
{ int m=1,n=2,k=3;
Int sum=ADD(m+n)*k;
Printf(“sum=%d’,sum); }
A sum=9 B sum=10 C sum=
12.判断char型变量ch是否为数字型字符的正确表达式是( )
A ‘0’<=ch<’’9’ B (ch>=’0’)&(ch<= C (ch>=’0’)&&(ch<’9’)
D (ch>=0)&&(ch<=9)

1. 一条简单语句是以_____;___字符作为结束符的,一条复合语句是分别以___{_____字符和_____}___字符作为开始符和结束符的。
2. 任何一个C++程序至少且只能包含一个_____主___函数,且程序总是从这个函数开始执行,不论这个函数的位置如何。一个函数定义由 函数头 和 函数体 两部分组成。
3. C++头文件和源程序文件的扩展名分别为 .h 和 .cpp。
4. cout与操作符__<<_配合使用才能显示输出,cin与操作符_>>_配合使用才能实现输入。
5. 数据类型int,char,bool,float,double, int * 等的类型长度分别为___4_、1_、_1_、_4、_8___和_____4___。
6. 数值常量46、0173和0x62对应的十进制值分别为_____46___、____123____和______98__。
7. 字符串”It\’s\40a\40C++programe!”中包含有______19____个字符。
8. 若x=5,y=10,则计算y*=++x表达式后,x和y的值分别为____6____和____60____。
9. 若x=25,则计算y=x--表达式后,x和y的值分别为____24____和__25______。
10. 假定x和ch分别为int型和char型,则sizeof(x)和sizeof(ch)的值分别为___4_____和_____1___。
11. 假定x=64,y=88,则x<<2和y>>2的值分别为____128____和___44_____。
12. 假定x是一个逻辑量,则x&&true的值与_____x___的值相同,x||false的值也与_____x___的值相同。
13. 假定x是一个逻辑量,则x&&!x和x||!x的值分别为____0____和____1____。
14. 假定x=10,则表达式x<=10?20:30的值为____20____。
15. 表达式sqrt(81)和pow(6,3)的值分别为________9______和_________216_____。
16. 数学算式(1+x)sin48°和axbex+1对应的算术表达式分别为___(1+x)*sin(48*3.14159/180)_____和_____a*pow(x,b)*exp(x+1)___。
17. 逻辑表达式:a>=x||b>2*y+10的相反式为:___~(a<=x&&2*y+10)_____。
18. 在嵌套的if语句中,每个else关键字与它前面最接近的____if____关键字相配套。
19. 在for语句中,假定循环体被执行次数为n,则<表达式1>共被计算____n___次,<表达式2>共被计算____n____次,<表达式3>共被计算____n____次。
20. 执行for和while循环时,每次是先进行____条件____的判断,然后再执行____循环___,执行do循环时则相反。
另外,站长团上有产品团购,便宜有保证
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-04-30
1. x>0 x>=0

2. x=y; y=temp;

3. m%i==0 i>k

4. n/100 i*i*i+j*j*j+k*k*k

4. c=getchar() n++

5. if(k>s) printf("%5d",n); m>0 m=m/10

15. -2

16. 无法解答

17. B

18. 48,0

19. C

21. A

23. 14

希望回答对你有帮助。追问

写出一下程序的运行结果。
1. Void main ()
{int num =1 ;
While (num<=2 );
Printf(“%d\n”, ++num)
2. main ()
{int i =1 ;
While (i<5 )
If (++i%3!=2 ) continue ;
Else printf (“%d\n”, i)
}
3. Main()
{ int i , x ,y ;
i=x=y=0 ;
do { ++i ;
If (i%2!=0 ) {x=x+i ; i++ }
y=y+i++ ;
} while (i<=7 );
printf (“x=%d,y=%d\n ”, x , y );
}

追答

1. while(num<=2); 会造成死循环,因为只有单独的分号(;)是一个空语句,什么都不执行,如果是写错了,还有printf("%d\n",++num)应该带分号,原本没有分号的话,那答案是
2
3

2. 2
5

3. x=1,y=20

追问

4,main ()
{int x=1 , y=0, a=0 ,b=0;
Switch (x)
{ case 1 : switch(y)
{ case 0 : a++; bresk ;
Case 1: b++, break ;}
Case 2 : a++; b++ ;bresk ;
Case 3 : a++ ; b++ ; }
5 #include
main ()
{Int arr [10], I , k=0,aver ;
For (i=0; i<10; i++ )
Arr [i] =i;
For (i=0; i<10;i++)
K+=arr[i];
Aver=k/2;
Printf (“ k=%d,aver=%d\n”,k, aver ) ;

追答

4. x=1, y=0, a=2, b=1

5. k=45,aver=22

追问

8. 一下程序的输出结果是( )
Main ( )
{int a=20,b=3;print(“%d\n”,x%y);}

11.下面程序运行结果是( )
#include
#define ADD(x) x+x
Void main()
{ int m=1,n=2,k=3;
Int sum=ADD(m+n)*k;
Printf(“sum=%d’,sum); }
12.判断char型变量ch是否为数字型字符的正确表达式是( )A ‘0’=’0’)&(ch=’0’)&&(ch=0)&&(ch<=9)

追答

8. 2

11. sum=10

12. 选项B是不是写漏了,正确答案是(ch>='0')&(ch<='9')

本回答被提问者采纳
第2个回答  2011-04-30
1,x>0
y=5*x-7
2,x=y
y=temp
3,m%i==0
i==k
4,n/100
i*i*i+j*j*j+k*k*k
5,c=getchar()
n++
6,m=n
m!=0
m/=10
三,
15,-2
16,抱歉,实在读不懂!
17,B
18,B
19,C
21,A
23,12
都是我自己做的,希望可以帮到你,呵呵追问

6.写出一下程序的运行结果
int f (int x , int y )
{ return ( ( y-x)*x);
Main ()
{ int a=3 ,b=4,c=5,d,e ;
d=f (a ,f(b, c) );
Printf (“%d\n”,d );
E=f(f(a , b ) , f ( a , c ));
Printf (“%d\n” , e ) ;
}

追答

1,2和3
2,2和5
3,x=1,y=20
4,程序执行后,x=1,y=0,a=2,b=1
5,k=45,aver=22
6,d=3,e=9

追问

3.若有说明:int [3][4]:则对a数组元素的非法引用是()
A a[0][2*1] B a[1][3] c a[4-2[][0]
4.以下对C语言函数的有关描述中 正确的是 ( )
A 在C中,调用函数时 只能把实参的。。。。。。。。。
B C函数既可以嵌套定义有可以递归调。。。。。。。
C 函数必须有返回值。否则不能使用、、、、、、
D C程序中有关调用关系的所有函数必须、、、、

追答

3,如果是因为你输入的时候写错的,把a[4-2][0]写成a[4-2[][0]的话,那错误的就是c了,否则三个引用都是正确的啊。
4,B

追问

14.运行一下程序后,输出 ( )
Main ()
{ int k=3;
If(k>3) printf(“****\n”);
Else printf(“&&&&\n”): }
A **** B &&&& C ####&&&& D 有语法错误
15.有一下程序
Main()
{ int m=3,n=4,x;
x=-m
x=x+8/++n
printf(“%d\n”,x);
程序运行后的输出结果是( )
A.1 B.5 C . -1

追答

14,B
15,结果是-2。

追问

23.若有以下说明和语句,已知int和fioat类型分别占2和4个字节,则变量our所占的字节数为( )
Typedef struct
{char c;
int a[3];
float f;
}TY;
TY our;
A 18 B.11 C.12 D.
25.假定a 和b为int型变量,则执行下述语句组后,b的值为 ()
A=1;b=10
Do{
b-=a;a++
}while(b--<0);
A.9 B.-2 C.-1 D8

追答

23,C
25,D

第3个回答  2011-04-30
。。。。。汗 ,我来玩下。

第个题目。。i干吗的。还有那个加的是不是小于0?
玩不了了。玩第二个都要改好几处。。Void main ()
{ int temp , x , y ;
Scamf (“%d %d ”, &x, &y ); //scanf()大写
Temp = x; //temp吧。不是大写
(________); //x=y;
(______); //y=temp;
Printf (“%d , %d ”, x, y ); //pritnf??大写?
}追问

写出一下程序的运行结果。
1. Void main ()
{int num =1 ;
While (num<=2 );
Printf(“%d\n”, ++num)
2. main ()
{int i =1 ;
While (i<5 )
If (++i%3!=2 ) continue ;
Else printf (“%d\n”, i)
}
3. Main()
{ int i , x ,y ;
i=x=y=0 ;
do { ++i ;
If (i%2!=0 ) {x=x+i ; i++ }
y=y+i++ ;
} while (i<=7 );
printf (“x=%d,y=%d\n ”, x , y );
}

第4个回答  2011-04-30
1.x>0 y=5x-7
2. x=y y=Temp
3. k%i==0 i>k
4. n/100 i*i*i+j*j*j+k*k*k
5. scanf("%c",&c); n++
6. m=n m m=m/10
三.
15. -2
16. 题目不完整
17. B
18. B
19.D
20.A
21.11追问

写出一下程序的运行结果。
4,main ()
{int x=1 , y=0, a=0 ,b=0;
Switch (x)
{ case 1 : switch(y)
{ case 0 : a++; bresk ;
Case 1: b++, break ;}
Case 2 : a++; b++ ;bresk ;
Case 3 : a++ ; b++ ; }
5 #include
main ()
{Int arr [10], I , k=0,aver ;
For (i=0; i<10; i++ )
Arr [i] =i;
For (i=0; i<10;i++)
K+=arr[i];
Aver=k/2;
Printf (“ k=%d,aver=%d\n”,k, aver ) ;
}