当前位置:文档之家› c语言习题

c语言习题

要调用数学函数时,在#include命令行中应包含( )。



A:"stdio.h"


B:"string.h"



C:"math.h"


D:"ctype.h"



题号2...选择题:( 1分,正确答案 A,学生答案 * )

下面四个选项中,均是合法转义字符的选项是( )。



A:'\'' '\\' '\n'


B:'\' '\017' '\"'




C:'\018' '\f' 'xab'


D:'\\0' '\101' 'xlf'



题号3...选择题:( 1分,正确答案 C,学生答案 * )

判断char型变量c1是否为大写字母的正确表达式是( )。



A:'A'<=c1<='Z'


B:(c1>='A')&(c1<='Z')



C:(c1>='A')&&(c1<='Z')



以下程序的输出结果是( )。
int a=5;
float x=3.14;
a*=x*(‘E’ - ‘A’);
printf("%f\n",(float)a);



A:62.000000


B:62.800000



C:63.000000


D:62



题号5...选择题:( 1分,正确答案 D,学生答案 * )

以下程序的输出结果是( )。
char str[15]="hello!";
printf("%d\n",strlen(str));



A:15


B:14



C:7


D:6


分析以下程序的输出结果是( )。
int adds(int x,int y)
{
static int m=0,n=3;
n*=++m;
m=n%x+y++;
return(m);
}
main()
{
int a=5,b=-1,c;
c=adds(a,b);
printf("%d",c);
c=adds(a,b);
printf("%d\n",c);
}



A:23


设有如下定义: int x=10,y=3,z; 则语句printf("%d\n",z=(x%y,x/y)); 的输出结果是( )。



A:1


B:0



C:4


D:3



题号8...选择题:( 1分,正确答案 C,学生答案 * )

定义如下变量和数组: int i; int x[3][3]={1,2,3,4,5,6,7,8,9};
则语句for(i=0;i<3;i++)printf("%d ",x[i][2-i]); 的输出结果是( )。



A:1 5 9


B:1 4 7



C:3 5 7


D:3 6 9


执行下面的程序后,a的值是( )。
#define SQR(X) X*X
main( )
{
int a=10,k=2,m=1;
a/=SQR(k+m)/SQR(k+m);
printf("%d\n",a);
}



A:10


B:1



C:9


D:0



题号10...选择题:( 1分,正确答案 D,学生答案 * )

表达式:10!=9的值是( )。



A:true


B:非零值



C:0


D:1



题号11...选择题:( 1分,正确答案 B,学生答案 * )

设int x=1,y=1;表达式(!x++ || y--)的值是( )。



A:0


B:1



C:2


D:-1



题号12...选择题:( 1分,正确答案 C,学生答案 * )

设有数组定义:char array[]=”China”; 则数组所占的空间是( )。



A:4个字节


B:5个字节



C:6个字节


D:7个字节



题号13...选择题:( 1分,正确答案 D,学生答案 * )

下列关于指针定义的描述,( )是错误的。



A:指针是一种变量,该变量用来存放某个变量的地址值的。


B:指针变量的类型与它所指向的变量类型一致。



C:指针变量的命名规则与标识符相同。


D:在定义指针时,标识符前的“*”号表示后面

的指针变量所指向的内容。



题号14...选择题:( 1分,正确答案 B,学生答案 B )

C语言中以只写方式打开一个文本文件应选择( )参数。



A:“r”


B:“w”



C:“rb”


D:“a”



题号15...选择题:( 1分,正确答案 B,学生答案 * )

break语句的正确的用法是( )。



A:无论在任何情况下,都中断程序的执行,退出到系统下一层。


B:在多重循环中,只能退出最靠近的那一层循环语句。



C:跳出多重循环。


D:只能修改控制变量。



题号16...选择题:( 1分,正确答案 C,学生答案 * )

以下可以作为C语言合法整数的是( )。



A:1010B


B:0368



C:0Xffa


D:x2a2



题号17...选择题:( 1分,正确答案 B,学生答案 * )

main( )
{
int n;
(n=6*4,n+6),n*2;
printf(“n=%dn”,n);
}
此程序的输出结果是( )。



A:30


B:24



C:60


D:48



题号18...选择题:( 1分,正确答案 D,学生答案 D )

若x=5,y=3 则y*=x+5; y的值为( )。



A:10


B:20



C:15


D:30



题号19...选择题:( 1分,正确答案 C,学生答案 * )

以下程序段中,与语句:k=a>b?(b>c ? 1 : 0) : 0;功能相同的是( )。



A:if((a>b) && (b>c)) k=l;
else k=0;


B:if((a>b)||(b>c))k=l;
else k=0;



C:if(a<=b)k=0;
else if(b<=c)k=1;


D:if(a>b) k=l;
else if(b>c)k=1;
else k=0;



题号20...选择题:( 1分,正确答案 A,学生答案 A )

若x=5,y=4 则y*=x+5; y的值为( )。



A:40


B:20



C:15


D:30



题号21...选择题:( 1分,正确答案 C,学生答案 * )

各种基本数据类型的存贮空间正确的长度排列为( )。



A:char

B:double


C:char

D:float


题号22...选择题:( 1分,正确答案 B,学生答案 * )

设char ch='A';表达式 !(ch>='A'&&ch<='Z')?ch:(ch+32) 的值是( )。



A:A


B:a



C:Z


D:z



题号23...选择题:( 1分,正确答案 C,学生答案 * )

设有int x=11;则表达式(x+1/3)的值是( )。



A:3


B:4



C:11


D:12



题号24...选择题:( 1分,正确答案 A,学生答案 * )

下列字符中属于键盘符号的是( )。



A:\


B:\n



C:\t


D:\b



题号25...选择题:( 1分,正确答案 C,学生答案 * )

在以下一组运算符中,优先级最高的运算符是( )。



A:<=


B:=



C:%


D:&&



题号26...选择题:( 1分,正确答案 C,学生答案 * )

表达式“10!=10”的值是( )。



A:true


B:非零值



C:0


D:1



题号27...选择题:( 1分,正确答案 A,学生答案 * )

函数调用strcat(strcpy(str1,str2),str3)的功能是( )。



A:将字符串str2复制到字符串str1中后再将字符串str3连接到字符串str1之后


B:将字符串str1复制到字符串str2中后再连接到字符串str3之后



C:将字符串str1复制到字符串str2中后再复制到字符串str3之后


D:将字符串str2连接到字符串str1中后再将字符串str1复制到字符串str3中



题号28...选择题:( 1分,正确答案 B,学生答案 B )

字符串“ABC”在内存占用的字节数是( )



A:3


B:4



C:6


D:8



题号29...选择题:( 1分,正确答案 B,学生答案 * )

设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值为( )



A:7


B:8



C:9


D:2



题号30...选择题:( 1分,正确答案 C,学生答案 * )

若有代数式3ae/bc,则不正确的c语言表达式是( )



A:a/b/c*e*3


B:3*a*e/b/c



C:3*a*e/b*c


D:a*e/b/c*3



题号31...选择题:( 1分,正确答案 B,学生答案 B )

C语言允许函数值类型缺省定义,此时该函数值隐含的类型是( )



A:float


B:int



C:long


D:double



题号32...选择题:( 1分,正确答案 C,学生答案 * )

若a为二维数组,则a[1][3]等价于( )。



A:*((a+1)+3)


B:a[1]+3



C:*(*(a+1)+3)


D:&a[1]+3



题号33...选择题:( 1分,正确答案 B,学生答案 * )

若以数组元素作为函数的实参,则实参向形参传送的是( )。



A:数组元素的地址


B:数组元素的值



C:数组的首地址


D:数组名



题号34...选择题:( 1分,正确答案 D,学生答案 * )

以下程序中,while循环的循环次数是( )。
#include
main( )
{int i=0;
while(i<10)
{if(i<1)continue;
if(i==5)break;
i++;
}
}



A:1


B:10



C:6


D:死循环,不能确定次数



题号35...普通填空题:

写出下面表达式的值:3+4>=7-10 _______________。


参考答案( 2分 ) 学生答案( 2分 )

1


1



题号36...普通填空题:

在内存中存储“A”要占用________________________个字节,存储‘A’要占用________________________字节。


参考答案( 2分 ) 学生答案( 0分 )

2,1~~2 1~~2,1~~2 1~~2
1~~2 1~~21






题号37...普通填空题:

C语言提供的三种逻辑运算符是与&&、或||、______。


参考答案( 2分 ) 学生答案( 0分 )

非!~~非~~!~~非!~~!






题号38...普通填空题:

设y为int型变量,请写出描述“y是奇数”的表达式_________

________________________。


参考答案( 2分 ) 学生答案( 0分 )

y%2!=0~~y%2==1






题号39...普通填空题:

设有“int x=2,y”说明,则逗号表达式“y=x+5,x+y”的值是_________________。


参考答案( 2分 ) 学生答案( 0分 )

9






题号40...判断题:

在C语言程序设计中,不同类型的数在计算机内存中所占空间是不同的。(对或错) ( )


参考答案( 2分 ) 学生答案( 0分 )








题号41...判断题:

在C语言程序中,在函数内部定义的变量称为全局变量。(对或错) ( )


参考答案( 2分 ) 学生答案( 2分 )








题号42...判断题:

#include和#define不是C语句。(对或错) ( )


参考答案( 2分 ) 学生答案( 0分 )








题号43...程序填空题:

完成以下自定义函数,实现如下功能:求两个数的平方和,并且返回该和。
自定义函数如下:
int max(________________)
{
int z;
z=x*x+y*y;
return(z);
}

注:只须提交“空”中内容!


参考答案( 4分 ) 学生答案( 0分 )

int x,int y~~int x,int y






题号44...程序填空题:

编写一个自定义函数,实现求两个实数的平方和。
注:只须提交“空”中内容!

float sum(float x,float y)
{
return _________________;
}


参考答案( 4分 ) 学生答案( 0分 )

x*x+y*y~~(x*x+y*y)~~x*x+y*y;
~~(x*x+y*y)






题号45...读程序题:


程序的输出结果为____________________。


参考答案( 4分 ) 学生答案( 0分 )

22






题号46...读程序题:

x=1;sum=1;
for(x=1;x<=5;x++)sum=sum*x;
上面的程序段实现的功能是:_____________________ ;


参考答案( 4分 ) 学生答案( 0分 )

sum=1*2*3*4*5~~计算5的阶乘~~计算5!~~计算5!~~sum=5!






题号47...读程序题:

程序的运行结果___________________________




参考答案( 4分 ) 学生答案( 0分 )

4#-4






题号48...编程题:

有3×3矩阵,以主对角线为对称线,对称元素相加并将结果存放在左下三角元素中,右上三角元素置为0。
例如:
输入格式:
1 2 3
4 5 6
7 8 9
输出格式:
1 0 0
6 5 0
10 14 9
注意:每个元素宽度为5


参考答案( 6分 ) 学生答案( 0分 )

#include "stdio.h"
int main()
{
int i,j,s[3][3];
for(i=0;i<3;i++)
for(j=0;j<3;j++)
scanf("%5d",&s[i][j]);
for(i=1;i<3;i++)
for(j=0;js[i][j]+=s[j][i];
s[j][i]=0;
}
for(i=0;i<3;i++){
for(j=0;j<3;j++)
printf("%5d",s[i][j]);
printf("\n");
}
}







题号49...编程题:

编程序按下列公式计算e的值。e=1+1/1!+1/2!+1/3!+……+1/n!。n从键盘输入。
数据输入格式:
3

0
数据输出格式:
2.718282


参考答案( 6分 ) 学生答案( 0分 )

#include
int main()
{
int n,i,m=1;
float e=1;
scanf("%d",&n);
for(i=1;i<=n;i++){
m*=i;
e+=1.0/m;
}
printf("%f",e);
}







题号50...编程题:

计算分段函数:

数据输入格式:
18
数据输出格式:
5.348469


参考答案( 6分 ) 学生答案( 0分 )

#include
#include
int main()
{
float x,y;
scanf("%f",&x);
if(x>20)y=x*x+3*x+2;
if(x>=10&&x<=20)y=sqrt(3*x)-2;
if(x<10)y=1/x+fabs(x);
printf("%f",y);
}







题号51...编程题:

数组A有10个整数,把能同时被3,7整除的数输出。
数据输入格式:
21 34 56 7 5 666 777 67 12 14
数据输出格式:
21 777


参考答案( 6分 ) 学生答案( 0分 )

#include "stdio.h"
int main()
{
int i,a[10];
for(i=0;i<10;i++)scanf("%d",&a[i]);
for(i=0;i<10;i++)
if(a[i]%3==0&&a[i]%7==0)printf("%d ",a[i]);
}







题号52...其它题:

编写一个递归函数sum,计算1+2+3+...+n 的和。


参考答案( 6分 ) 学生答案( 0分 )

int sum(int n)
{ int s;
if (n==0)s=0;
else s=sum(n-1)+n;
return(s);
}



相关主题
文本预览
相关文档 最新文档