Ⅰ C语言程序设计题目
一、
1.B
2.A
二、
1.
#include <stdio.h>
void str(char *s,char *t)
{ int i=0;
while(*(t+1) != NUll)
{ *s=*t;
i++;
t++;
}
}
void main()
{ char a[20],b[10];
gets(b);
str(a,b);
puts(a);
}
2.
w,one
3.*p表示a *(&a)= p
三
1.第一个是正确的 具体怎么改 我还没想好 方法很多
2.
ABCDEFG
CDEFG
EFG
G
Ⅱ 《C语言程序设计》试题2 求解 请勿乱填 非常感谢
二、填空题(20分)
21.若w=1,x=2,y=3,z=4;则条件表达式w>x?w:y<z?y:z的结果为_3_。
22.共用体类型的标志是 union 关键字。
23.定义整型一维数组a含有10个元素且初始化为0的语句是_int a[10]=0;__。
24.在C语言中,打开文件的函数名是_fopen()_ 。
25.在C语言中“逻辑运算符”有三种,它们分别是与&& 或|| 非!__ 。
26.若在C程序中使用到库函数〃sqrt(36) 〃,应在程序开头写上文件包含命令: math.h
27.在C语言中,编译预处理功能主要包括:文件包含、条件编译和 __宏定义;___。
28.语句printf(〃%d,%c〃, ˊAˊ, ˊAˊ+1)的输出结果是_65,B___。
29.在C语言中,二维数组元素在内存中的存放形式是 按行存放 。
30.十六进制0x2f表示的十进制数是__639_ 。
三、写出程序执行结果(20分)
31. main ( )
{ int a, b, m, n ;
a=8;
b=10;
m=++a;
n=b++;
printf(〃%d,%d,%d,%d〃, a, b, m. n) ;
}
执行的结果是:
9,11,9,10
32. int fac( int n)
{ static int f=1; 执行的结果是:
f=f*n;
return(f);
}
main()
{ int i;
for(i=1;i<=5;i++)
printf("%d!=%d\n",i,fac(i));
}
1!=1
2!=2
3!=6
4!=24
5!=120
33. main()
{ char s[]="ABCD",*p;
for(p=s;p<s+4;p++) printf("%s\n",p);
}
执行的结果是:
ABCD
BCD
CD
D
34. void uu(int m){
printf("%3d" ,m%10);
if(m/10 != 0)
uu(m/10);
}
main(){
uu(678);
}
执行的结果是:
8 7 6
Ⅲ c语言程序设计习题!!10道
1. 在C程序中,只能用于整型变量的运算符是___ 求余(%)___。
2. 在C语言中,char类型变量占 2 个字节。
3. 若a已定义为double类型,请写出从键盘给a输入数据的语句 scanf("%lf",&a); 。
4. 为使以下程序能正确运行,请填空。
#include<stdio.h>
#include<math.h>
main()
{ double x, y;
scanf("%lf%lf",&x,&y);
printf("y=%f\n", pow(x,y));}
5. 以下程序执行后的输出结果是 -2 。
main()
{ int m=3,n=4,x;
x=-m++;
x=x+8/++n;
printf("%d\n",x); }
6. 以下程序的输出结果是 10 20 0 。
main()
{ int a,b,c;
a=10; b=20; c=(a%b<1)||(a/b>1);
printf("%d %d %d\n",a,b,c); }
7. 以下程序中调用fun函数,对主函数x和y中的值进行对调。请填空。
void fun( double *a, double *b)
{ double x;
x=*a; *a=*b ; *b=x ; }
main()
{ double x,y;
printf(“Enter x, y : “); scanf(“%lf%lf”,&x,&y);
fun( x,y);
printf(“x=%f y=%f\n”,x,y );}
8. C语言规定:字符串以 '\0' 作为结束标志。
9. 以下程序的输出结果是 3 。
long fun( int n)
{ long t;
if ( n==1 || n==2 ) t=1;
else t=fun(n-1) + fun(n-2);
return ( t );
}
main( )
{ printf(“%d\n”,fun(4) );}
10. 设有定义:
struct date
{ int year, month, day ; } d1;
请写出利用输入语句,为变量d1中的year成员从键盘输入数值的语句 scanf ("%d",&(d1.year)); 。
Ⅳ C语言程序设计试题 求标准答案 都是多选
1、答案:A
(单引号括起来的都是字符,而且一对单引号最多对应一个字符,\反斜杠是转义字符的开始,\72是ASCII码对应的字母H。也就是把H这个字母存到了变量char a中。就一个字符H。)
2、ACDE
解析:
int a=3,b=4,c=5;,
A、a>b
B、a<=b
C、(a||b)>c
D、a<=(b||c)
E、!((a<b)&&!c||b)
优先级由大到小:() ! && ||
A选项,3>4错误,逻辑值0。
B选项,3<=4正确,逻辑值1。
C选项,(3||4)>5,(3||4)"或"逻辑运算符两边只要有一个非0的整个值就是1,1>5错,逻辑值0。
D选项,3<=(4||5)错误,逻辑值0。
E选项,!((3<4)&&!5||4),先(3<4)逻辑值1,!5逻辑值0,1&&0是0,0||4是1,!1是0,所以逻辑值0。
3、AC。
解析:A可以,B答案b不能被赋值(自左向右,计算||左侧就已经是1了右边就不用再计算了整个表达式无论右边如何整个逻辑值必定是1,计算机也就不会计算右边了)C可以(因为&&两边都必须计算才能得出最后的逻辑值答案),D不可以a不能被赋值(&&左边就一个a,构不成赋值,可能存放一个随机值,右边可以被赋值)。
4、ABCD。
外部函数几乎可以被所有函数调用。只要开头#include” "引入。
Ⅳ C语言程序设计试题
1.请编程序打印出一张乘法“九九表”。表的样式如下:
1 2 3 4 5 6 7 8 9
2 4 6 8 10 12 14 16 18
3 6 9 12 15 18 21 24 27
4 8 12 16 20 24 28 32 36
5 10 15 20 25 30 35 40 45
6 12 18 24 30 36 42 48 54
7 14 21 28 35 42 49 56 63
8 16 24 32 40 48 56 64 72
9 18 27 36 45 54 63 72 81
2.编程序把从键盘输入的英文短文作为一个字符串(长度不超过30),把短文
中每个单词的首字母改成大写,(原输入可以是大写),输出转换后的字符串。
3.查找长度为10的整型数组,打印其中整数5出现的次数,及每个整数5对应的数组元下标,打印的结果用逗号隔开。若数组中没有5,也要报告“ther is not number 5”。(数组各元从键盘输入)
4.请用循环结构编程打印出如下字符矩阵
A B C D E Z
Z A B C D E
E Z A B C D
D E Z A B C
C D E Z A B
B C D E Z A
5.请编程计算并输出整数矩阵周边各元之和,矩阵的维数为7×4。(矩阵各元从
键盘输入)
6.编一个函数void merger(int a[], int b[], int c[]), 其功能是归并。把两个递增的整型数组a和b, 归并成递增数组c。再编一个主函数,输入两个递增数组(一个长度为5,另一个长度为9),调用merger函数,打印归并后的结果。
7.编程打印所有各位数的立方和等于该整数的三位数。
8.编程从键盘输入一字符串存放在字符型数组s中,将s中的子字符串”shu”都找到,并输出各子串起始的下标位置。若s中不存在”shu”,也要报告“there is not string shu”。设字符串s有效长度小于40。
9.编程将一个正整数(小于1000)表示成1和质因子的连乘积。如:输入45,输出45=1*3*3*5。
10.编程计算方程 的正整数解,并输出。
11.中国有句俗语“三天打鱼两天晒网”,某人从03年1月1日起三天打鱼两天晒网,编程计算某月某日,他在打鱼还是在晒网。某月某日从键盘输入,打鱼则输出1,晒网则输出0。
12.从键盘输入10名学生的成绩,显示与平均成绩最接近的三个成绩。
程序设计基础(C语言)水平测试考核(参考答案)
1.
/*multiply-table */
main()
{ int i,j;
for(i=1;i<10;i++)
{ for(j=1;j<10;j++) printf("%4d",i*j);
printf("\n");
}
}
2.
/*capitalization of prefix*/
main()
{ char a[80];
int i;
gets(a);
for(i=0;a[i];i++)
if((i==0||a[i-1]==' ')&&(a[i]>='a'&&a[i]<='z')) a[i]=a[i]-32;
puts(a);
}
3.
/*search number 10*/
main()
{ int a[10],i,c=0;
for(i=0;i<10;i++) scanf("%d",&a[i]);
for(i=0;i<10;i++)
if(a[i]==5)
{ c++; printf("%d,",i);
}
if(c==0) printf("\nThere is not number 5.\n");
else printf("%d\n",c);
}
4.
/*characters matrix*/
#define N 6
void gosub(char a[],int n)
{ char t;
int i;
t=a[n];
for(i=n;i>0;i--)
a[i]=a[i-1];
a[0]=t;
}