c语言main函数测试题,每个c语言程序必须有一个main函数

请问这道c语言题目怎么写?

#include "stdio.h"

网站建设公司,为您提供网站建设,网站制作,网页设计及定制网站建设服务,专注于企业网站制作,高端网页制作,对雨棚定制等多个行业拥有丰富的网站建设经验的网站建设公司。专业网站设计,网站优化推广哪家好,专业seo优化排名优化,H5建站,响应式网站。

int main(int argc,char *argv[]){

int y,m,d,sum,i,w[12]={31,28,31,30,31,30,31,31,30,31,30,31};

printf("Please enter the birth year-month-day...\n");

if(scanf("%d-%d-%d",y,m,d)!=3 || y1 || m1 || m12 || (w[1]=y%4==0 y%100 || y%400==0 ? 29 : 28,dw[m-1])){

printf("Input error, exit...\n");

return 0;

}

for(sum=w[m-1]-d,i=m;i12;sum+=w[i++]);//求第一年生日后总天数

for(i=y+1,y+=18;iy;i++)

sum+=(365+(i%4==0 i%100 || i%400==0));//求到18岁前一年总天数

w[1] = i%4==0 i%100 || i%400==0 ? 29 : 28;//18岁那一年是闰年?

for(m-=2;m=0;sum+=w[m--]);//求到18岁那一年整月天数和

printf("%d\n",sum+d);//输出

return 0;

}

代码图片和运行样例:

c语言编程练习题1

#include

"stdio.h"

main()

{

double

a=0,b;

int

i;

for(i=1;;i++)

{

printf("Enter

a

number:");

scanf("%lf",b);

if(ba)

a=b;

if(b=0)

break;

}

if(a=0)

printf("%lf\n",a);

}

经验证,float数据不够精确,如输入100.62,输出的却是如100.620003。所以用了更精确的double数据。希望能帮到你。

c语言练习题

1、以下说法中正确的是____。(C)

A、C语言程序总是从第一个函数开始执行

B、在C语言程序中,要调用的函数必须在main()函数中定义

C、C语言程序总是从main()函数开始执行

D、C语言程序中的main()函数必须放在程序的开始部分

2、某文件中定义的静态全局变量(或称静态外部变量)其作用域是_____。(B)

A、只限某个函数

B、本文件

C、跨文件

D、不限制作用域

3、下列叙述中正确的是_____。(A)

A、函数定义不能嵌套,但函数调用可以嵌套

B、函数定义可以嵌套,但函数调用不可以嵌套

C、函数定义和函数调用都不能嵌套

D、函数定义与函数调用都可以嵌套

4、以下说法中正确的是_____。(A)

A、#define和printf都是C语句

B、#define是C语句,而printf不是

C、printf是C语句,但#define

D、#define和printf都不是C语句

5、以下关于函数叙述中,正确的是_____。(D)

A、在函数体中可以直接引用另一个函数中声明为static类别的局部变量的值

B、在函数体中至少必须有一个return 语句

C、在函数体中可以定义另一个函数

D、在函数体中可以调用函数自身

6、在C语言中,若对函数类型未加显式说明,则函数的隐含类型是______。(A)

A、void

B、double

C、int

D、char

7、下面不正确的描述为______。(A)

A、调用函数时,实参可以是表达式

B、调用函数时,实参与形参可以共用内存单元

C、调用函数时,将为形参分配内存单元

D、调用函数时,实参与形参的类型必须一致

8、在一个源文件中定义的全局变量的作用域为______。(D)

A、本文件的全部范围

B、本程序的全部范围

C、本函数的全部范围

D、从定义该变量开始至本文件结束

9、以下叙述中,错误的是______。(D)

A、不同函数中可以使用相同名字的变量

B、在函数外部定义的变量是全局变量

C、形式参数是局部变量

D、在main函数体内定义的变量是全局变量

10、C语言规定,调用一个函数时,当实参和形参都是普通变量时,它们之间数据传递的方式是______。(B)

A、地址传递

B、单向值传递

C、双向值传递

D、由用户定义传递方式

11、若用数组名作为函数调用的实参,则传递给形参的是______。(A)

A、数组的首地址

B、数组的第一个元素的值

C、数组中全部元素的值

D、数组元素的个数

12、C语言规定,函数返回值的类型是______。(D)

A、return语句中的表达式的类型

B、调用该函数时的主调函数的类型

C、由系统确定

D、该函数定义时的类型

13、若一个void型函数定义中没有return语句,则调用该函数时,函数______。(A)

A、没有返回值

B、返回若干个系统默认值

C、返回一个用户所希望的函数值

D、返回一个不确定的值

14、以下有关C语言的叙述中,错误的是______。(A)

A、函数调用可以作为独立的语句出现

B、函数调用可以出现在表达式中

C、函数调用可以作为函数的实参

D、函数调用可以作为函数的形参

15、以下程序输出结果是__________。(B)

#include stdio.h

int i=10;

main()

{int j=1;

j=fun();

printf("%d,",j);

j=fun();

printf("%d",j);

}

fun()

{int k=0;

k=k+i;

i=i+10;

return (k);

}

A、0,0

B、10,20

C、10,10

D、20,20

《C语言程序设计》第14章在线测试

一.

1.B 2.D 3.A 4.B 5.D

二.

1.BC 2.ABC 3.AB 4.CD 5.AB

三.

1.错误 2.正确 3.错误 4.正确 5.错误

《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(ab) x=1;else if (cd) x=2;else x=3;

A) 1 B) 2 C) 3 D) 4

如果ab,12为假,不执行x=1,执行else if(cd),判断:34为假,不执行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语言第一单元单元测试题,今天必须交了,好难啊,哪位大哥帮忙解决下,在线等,最好给个100分啊!

下面是我的答案,楼上的50和51题做错了

四则运算表达式里面有double其他都会转化为double,所以50题选A

x = 1, y = x + 3 / 2, 首先要明白逗号表达式的值去最后一个表达式的值,

而最后一个表达式是赋值表达式,它的值是y的值

而由运算符优先级,它将先运算 3 / 2,都是整数,当然结果是1, 然后加上x,

答案是2

另外46题之所以是C是因为 || 运算符的短路问题,即左边确定是正确的之后就不会

执行右边了

相信我的C能力吧,都用了好几年了。。

41.字符串"ABC"在内存占用的字节数是 D (三个字符加最后的一个'\0')

(A) 8

(B) 6

(C) 3

(D) 4

42.在PC中,'\n'在内存占用的字节数是 D (转义字符同样是一个字节)

(A) 3

(B) 4

(C) 2

(D) 1

43.在下列数据中属于“字符串常量”的是 A (这个应该懂吧,B是字符常量,C是错的,D是变量)

(A) "ABC"

(B) 'a'

(C) 'abc'

(D) ABC

44.表达式10 != 9的值是 D (逻辑表达式的结果只有0和1)

(A) 0

(B) 真

(C) true

(D) 1

45.设a为5,执行下列语句后,b的值不为2的是 A

(A) b = a % 2

(B) b = a 3 ? 2 : 4

(C) b = 6 - (--a)

(D) b = a / 2

46.设m, n, a, b, c, d均为0,执行(m = n == b) || (n = c == d)后,m,n的值是 C

(A) 0,1

(B) 1,1

(C) 1,0

(D) 0,1

47.char型常量在内存中存放的是 C

(A) 十进制代码值

(B) BCD码值

(C) ASCII值

(D) 内码值

48.下列叙述中正确的是 B

(A) C语言中的所有字母都不区分大小写

(B) C语言中的所有关键字必须小写

(C) C程序中的关键字必须小写,其他标识符不区分大小写

(D) C程序中的搜有字母都必须小写

49.在以下一组运算符中,优先级最高的运算符是 A

(A) %

(B) =

(C) =

(D)

50.若有char a; int b; float c; double d;,则表达式a * b + d - c的值的类型是 A

(A) double (B) char

(C) float (D) int

51. 若已定义x和y为double类型,则表达式x = 1, y = x + 3 / 2的值是 A

(A) 2.0

(B) 2

(C) 1

(D) 2.5

52.下列只有当整数x为奇数时,才是逻辑“真”的表达式是 D

(A) (x - x / 2 * 2) == 0

(B) !(x % 2 )

(C) x % 2 == 0

(D) !(x % 2 == 0)

53. 下列能正确表示a≥10或a≤0的C语言关系表达式是 A

(A) a = 10 || a = 0

(B) a = 10 a = 0

(C) a = 10 | a = 0

(D) a = 10 or a = 0

54.以下叙述不正确的是 D

(A) C程序的注释可以写在语句的后面

(B) 分号是C语句的必要组成部分

(C) 函数是C程序的基本单位

(D) 主函数的名字是mian

55. 下面不属于C语言关键字的是 C

(A) enum

(B) typedef

(C) integer

(D) union


网页标题:c语言main函数测试题,每个c语言程序必须有一个main函数
分享路径:http://hbruida.cn/article/dsishgo.html