当前位置:首页 » 编程语言 » c语言程序设计习题

c语言程序设计习题

发布时间: 2022-01-10 07:58:21

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、C语言规定,在一个源程序中,main()函数的位置(C )。
A) 必须在最开始 B)必须在最后
C) 可以任意 D) 必须在系统调用的库函数后面

这题你死记就行,你看看这个
任何一个C++程序都必须定义一个main函数,它的返回类型总是int类型。这个函数由操作系统来调用,在main函

数执行完以后,程序也就终止了。 main也可以使用return向操作系统返回一个值,使用操作系统的命令可以检测

main的返回值。一般约定在main返回0时,表示程序运行过程中没有出现错误,其它非零值表示程序出现异常情况。
若没有为main指定返回值,这样返回值是任意的。

2、若x和y都是int 型变量,x=100,y=200,且有以下程序段,printf(“%d”,(x,y));则其输出结果是( A)。
A) 200 B) 100 C) 100 200 D) 输出不确定值

(x,y)这是个逗号表达式,表达式的值为最后一个逗号后面表达式的值,因为前面有一个%d,所以输出 的是y的



3、合法的C语法字符常量是(C )。
A) “A” B) 65 C) ‘\t’ D) A

字符都是由两个单引号括起来的,死记, a)为字符串

4、表达式“3!=4”的值是(A )。
A) 1 B) 0 C) T D) F

!=是c语言的逻辑运算符,3!=4为真,多以得1, 3=4为假,值为0

5、 int a=1,b=2,c=3,d=4,执行下列程序后x的值为( C)。
if(a>b) x=1;else if (c>d) x=2;else x=3;
A) 1 B) 2 C) 3 D) 4

如果a>b,1>2为假,不执行x=1,执行else if(c>d),判断:3>4为假,不执行x=2,执行=3,完

6、以下程序的输出结果是(D)。
Int x=10,y=3,z;printf(“%d\n”,z=(x%y,x/y));
A)1 B) 0 C) 4 D) 3

逗号表达式,x%y,10%3,商3余1,模取余数1,x/y,10/3,商3余1,除法取商3,逗号表达式,表达式的值为最后一

个逗号后面表达式的值

7、为表示x≥y≥z,应使用C语言表达式(A )。
A) (x>=y)&&(y>=z) B) (x>=y) AND (y>=z)
C) (x>=y>=z) D) (x>=y) & (y>=z)

关系运算符,x>=y与y>=z必须是同时成立的,因此要用逻辑运算符&&,&&与的意思

8、合法的数组定义是( a )。
A) int a[ ]=”string”; B) int a[5]={0,1,2,3,4,5};
C) char a=”string”; D) char a[ ]={“01234”};

a不指定数组长度定义,正确
b数组长度为5,就是里面有5个数组元素,多了一个数组元素
c定义a不是数组而是一个变量,素组应该是a[]
d是错的,字符串是这样定义的:char a[ ]={'0','1','2','3','4','\0'};
[4]中数字是数组长度,说明里面有几个元素

9、设x和y均为int型变量,则语句“x+=y;y=x-y;x-=y;”的功能是(D)。
A) 把x和y按从小到大排列 B)把x和y按从大到小排列
C)无确定结果 D)交换x和y中的值

x+=y等同于x=x+y,把x加y的值赋给x,x现在存的是x与y的和
y=x-y把x减y的值赋给y,x现在存的是x与y的和 (x+y)-y=x,把x的值给y,y存x的值
x-=y等同于x=x-y,把x减y的值赋给x,(x+y)-y=x,现在的后面的y存的是x的值,做完后x里存的值是y,完成交换

10、若已定义x和y为double类型,则表达式“x=1,y=x+3/2”的值是(C)。
A) 1 B)2 C) 2.0 D) 1.0

逗号表达式,先让x=1在算y=x+3/2,得2,因为是double类型,所以有小数点

11、下列条件语句中,功能与其他语句不同的是 (D)
A) if(a) printf("%d\n",x); else printf("%d\n",y);
B) if(a==0) printf("%d\n",y); else printf("%d\n",x);
C) if (a!=0) printf("%d\n",x); else printf("%d\n",y);
D) if(a==0) printf("%d\n",x); else printf("%d\n",y);

a 如果a为真输出x,如果a为假输出y
b 如果a==0,也就是为假,输出y,a为真输出x,同a
c 如果a!=0为真,输出x,a为假输出y同上
d 如果a为假输出x,如果a为真输出y,与以上的都不同

12、以下能正确定义二维数组的是 (C)
A) int a[][3]; B) int a[][3]=2{2*3};
C) int a[][3]={0}; D) int a[2][3]={{1},{2},{3,4}};

a 没有给数组赋初值
b {}里不能有*
c 正确,记住第一个[]中可以为空,第二个[]不能为空,死记
d a[2][3] 的意思是有两个一维数组,每个一维数组里有3个元素,{{1},{2},{3,4}}; 她的意思是三个数组,{}中的每一个{}代表一个数组,里边的数为数组元素

13、用C语言编写的代码程序 (B)
A)可立即执行 B)是一个源程序
C)经过编译即可执行 D)经过编译解释才能执行

死记

③ 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;
}

④ C语言程序设计习题

这个考察的是运算符的优先级的问题,和++的细节问题。
++的优先级高于%,而且++x是先让x自加再运算。
比如当i=1时,x=1,
if (++x%2==0)//++x先执行,所以x=2 ,2%2==0为真
if (++x%3==0) //x=3 也为真
if (++x%7==0) //x=4,为假
printf(“%d”,x);
所以该程序时找出这样一个x,他加一后能被2整除,再加一后能被3整除,再加一后能被7整除。输出这样的x。(当然从1-100中找)

⑤ C语言程序设计的题目

A错,因为a数组初始化时用了双引号,所以a中保存了一个字符串,即a数组中有7个元素,除了这些字母之外,还有一个'\0'

B错,参考A

C错,a数组初始化时用双引号,所以a中保存了一个字符串,b数组中将保存了6个字符.

D对,参考A

⑥ C语言程序设计题

http://..com/question/159976051.html

⑦ c语言程序设计试题

#include<iostream>
using namespace std;
int main()
{
double weekSalary,workingTime;
int dol,cent;
do
{
cout<<"请输入一周薪水,输入须为数值且不小于零,单位为“美元”)"<<endl;
cin>>weekSalary;
}while(weekSalary<0)
do
{
cout<<"请输入工作时间,输入须为数值且大于0.0小于168.0,单位为“小时”)"<<endl;
cin>>workingTime;
}while(workingTime<=0)
if(weekprice/workingTime==0)
{
cent=(int)(weekSalary*10.0/workingTime);
cout<<"Your average hourly pay rate is 0 dollars and"<<cent<<" cents."<<endl;
}
else
{
dol=(int)(weekSalary/workingTime);
cent=(int)((weekSalary-dol*workingTime)*10.0/wokingTime);
cout<<"Your average hourly pay rate is "<<dol<<" dollars and "<<cent<<" cents."<<endl;
}
return 0;

}

⑧ C语言程序设计考题

答案:C
C语言中,函数变量的存储类别包括auto,static,extern和regester,其中auto为隐含存储类别,static为静态存储类别,extern为外部存储类型register是寄存器存储类别。

当不写时,它就是自动的默认值,默认为auto

⑨ C语言程序设计题

B) . 5
y的输入值为5.4321
输出的时候强制转换为整型。所以只取5

热点内容
phpapache伪静态 发布:2024-09-20 20:54:45 浏览:588
新浪云缓存 发布:2024-09-20 20:53:45 浏览:286
怎么上传学历 发布:2024-09-20 20:53:42 浏览:848
华为至尊平板电脑是什么配置 发布:2024-09-20 20:47:47 浏览:293
shell脚本字符串查找 发布:2024-09-20 20:47:44 浏览:274
如何在服务器上搭建linux系统 发布:2024-09-20 20:43:32 浏览:386
上传汽车保单 发布:2024-09-20 20:30:46 浏览:436
樱花服务器测试ip 发布:2024-09-20 20:10:39 浏览:280
炉石传说安卓怎么玩 发布:2024-09-20 20:09:59 浏览:313
ios开会员为什么比安卓贵 发布:2024-09-20 20:09:55 浏览:569