#include "stdio.h"
網(wǎng)站建設(shè)公司,為您提供網(wǎng)站建設(shè),網(wǎng)站制作,網(wǎng)頁設(shè)計及定制網(wǎng)站建設(shè)服務(wù),專注于企業(yè)網(wǎng)站制作,高端網(wǎng)頁制作,對雨棚定制等多個行業(yè)擁有豐富的網(wǎng)站建設(shè)經(jīng)驗的網(wǎng)站建設(shè)公司。專業(yè)網(wǎng)站設(shè)計,網(wǎng)站優(yōu)化推廣哪家好,專業(yè)seo優(yōu)化排名優(yōu)化,H5建站,響應(yīng)式網(wǎng)站。
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++]);//求第一年生日后總天數(shù)
for(i=y+1,y+=18;iy;i++)
sum+=(365+(i%4==0 i%100 || i%400==0));//求到18歲前一年總天數(shù)
w[1] = i%4==0 i%100 || i%400==0 ? 29 : 28;//18歲那一年是閏年?
for(m-=2;m=0;sum+=w[m--]);//求到18歲那一年整月天數(shù)和
printf("%d\n",sum+d);//輸出
return 0;
}
代碼圖片和運行樣例:
#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);
}
經(jīng)驗證,float數(shù)據(jù)不夠精確,如輸入100.62,輸出的卻是如100.620003。所以用了更精確的double數(shù)據(jù)。希望能幫到你。
1、以下說法中正確的是____。(C)
A、C語言程序總是從第一個函數(shù)開始執(zhí)行
B、在C語言程序中,要調(diào)用的函數(shù)必須在main()函數(shù)中定義
C、C語言程序總是從main()函數(shù)開始執(zhí)行
D、C語言程序中的main()函數(shù)必須放在程序的開始部分
2、某文件中定義的靜態(tài)全局變量(或稱靜態(tài)外部變量)其作用域是_____。(B)
A、只限某個函數(shù)
B、本文件
C、跨文件
D、不限制作用域
3、下列敘述中正確的是_____。(A)
A、函數(shù)定義不能嵌套,但函數(shù)調(diào)用可以嵌套
B、函數(shù)定義可以嵌套,但函數(shù)調(diào)用不可以嵌套
C、函數(shù)定義和函數(shù)調(diào)用都不能嵌套
D、函數(shù)定義與函數(shù)調(diào)用都可以嵌套
4、以下說法中正確的是_____。(A)
A、#define和printf都是C語句
B、#define是C語句,而printf不是
C、printf是C語句,但#define
D、#define和printf都不是C語句
5、以下關(guān)于函數(shù)敘述中,正確的是_____。(D)
A、在函數(shù)體中可以直接引用另一個函數(shù)中聲明為static類別的局部變量的值
B、在函數(shù)體中至少必須有一個return 語句
C、在函數(shù)體中可以定義另一個函數(shù)
D、在函數(shù)體中可以調(diào)用函數(shù)自身
6、在C語言中,若對函數(shù)類型未加顯式說明,則函數(shù)的隱含類型是______。(A)
A、void
B、double
C、int
D、char
7、下面不正確的描述為______。(A)
A、調(diào)用函數(shù)時,實參可以是表達式
B、調(diào)用函數(shù)時,實參與形參可以共用內(nèi)存單元
C、調(diào)用函數(shù)時,將為形參分配內(nèi)存單元
D、調(diào)用函數(shù)時,實參與形參的類型必須一致
8、在一個源文件中定義的全局變量的作用域為______。(D)
A、本文件的全部范圍
B、本程序的全部范圍
C、本函數(shù)的全部范圍
D、從定義該變量開始至本文件結(jié)束
9、以下敘述中,錯誤的是______。(D)
A、不同函數(shù)中可以使用相同名字的變量
B、在函數(shù)外部定義的變量是全局變量
C、形式參數(shù)是局部變量
D、在main函數(shù)體內(nèi)定義的變量是全局變量
10、C語言規(guī)定,調(diào)用一個函數(shù)時,當(dāng)實參和形參都是普通變量時,它們之間數(shù)據(jù)傳遞的方式是______。(B)
A、地址傳遞
B、單向值傳遞
C、雙向值傳遞
D、由用戶定義傳遞方式
11、若用數(shù)組名作為函數(shù)調(diào)用的實參,則傳遞給形參的是______。(A)
A、數(shù)組的首地址
B、數(shù)組的第一個元素的值
C、數(shù)組中全部元素的值
D、數(shù)組元素的個數(shù)
12、C語言規(guī)定,函數(shù)返回值的類型是______。(D)
A、return語句中的表達式的類型
B、調(diào)用該函數(shù)時的主調(diào)函數(shù)的類型
C、由系統(tǒng)確定
D、該函數(shù)定義時的類型
13、若一個void型函數(shù)定義中沒有return語句,則調(diào)用該函數(shù)時,函數(shù)______。(A)
A、沒有返回值
B、返回若干個系統(tǒng)默認(rèn)值
C、返回一個用戶所希望的函數(shù)值
D、返回一個不確定的值
14、以下有關(guān)C語言的敘述中,錯誤的是______。(A)
A、函數(shù)調(diào)用可以作為獨立的語句出現(xiàn)
B、函數(shù)調(diào)用可以出現(xiàn)在表達式中
C、函數(shù)調(diào)用可以作為函數(shù)的實參
D、函數(shù)調(diào)用可以作為函數(shù)的形參
15、以下程序輸出結(jié)果是__________。(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
一.
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.錯誤
一、選擇題
1、C語言規(guī)定,在一個源程序中,main()函數(shù)的位置(C )。
A) 必須在最開始 B)必須在最后
C) 可以任意 D) 必須在系統(tǒng)調(diào)用的庫函數(shù)后面
這題你死記就行,你看看這個
任何一個C++程序都必須定義一個main函數(shù),它的返回類型總是int類型。這個函數(shù)由操作系統(tǒng)來調(diào)用,在main函
數(shù)執(zhí)行完以后,程序也就終止了。 main也可以使用return向操作系統(tǒng)返回一個值,使用操作系統(tǒng)的命令可以檢測
main的返回值。一般約定在main返回0時,表示程序運行過程中沒有出現(xiàn)錯誤,其它非零值表示程序出現(xiàn)異常情況。
若沒有為main指定返回值,這樣返回值是任意的。
2、若x和y都是int 型變量,x=100,y=200,且有以下程序段,printf(“%d”,(x,y));則其輸出結(jié)果是( 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,執(zhí)行下列程序后x的值為( C)。
if(ab) x=1;else if (cd) x=2;else x=3;
A) 1 B) 2 C) 3 D) 4
如果ab,12為假,不執(zhí)行x=1,執(zhí)行else if(cd),判斷:34為假,不執(zhí)行x=2,執(zhí)行=3,完
6、以下程序的輸出結(jié)果是(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,模取余數(shù)1,x/y,10/3,商3余1,除法取商3,逗號表達式,表達式的值為最后一
個逗號后面表達式的值
7、為表示x≥y≥z,應(yīng)使用C語言表達式(A )。
A) (x=y)(y=z) B) (x=y) AND (y=z)
C) (x=y=z) D) (x=y) (y=z)
關(guān)系運算符,x=y與y=z必須是同時成立的,因此要用邏輯運算符,與的意思
8、合法的數(shù)組定義是( a )。
A) int a[ ]=”string”; B) int a[5]={0,1,2,3,4,5};
C) char a=”string”; D) char a[ ]={“01234”};
a不指定數(shù)組長度定義,正確
b數(shù)組長度為5,就是里面有5個數(shù)組元素,多了一個數(shù)組元素
c定義a不是數(shù)組而是一個變量,素組應(yīng)該是a[]
d是錯的,字符串是這樣定義的:char a[ ]={'0','1','2','3','4','\0'};
[4]中數(shù)字是數(shù)組長度,說明里面有幾個元素
9、設(shè)x和y均為int型變量,則語句“x+=y;y=x-y;x-=y;”的功能是(D)。
A) 把x和y按從小到大排列 B)把x和y按從大到小排列
C)無確定結(jié)果 D)交換x和y中的值
x+=y等同于x=x+y,把x加y的值賦給x,x現(xiàn)在存的是x與y的和
y=x-y把x減y的值賦給y,x現(xiàn)在存的是x與y的和 (x+y)-y=x,把x的值給y,y存x的值
x-=y等同于x=x-y,把x減y的值賦給x,(x+y)-y=x,現(xiàn)在的后面的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類型,所以有小數(shù)點
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、以下能正確定義二維數(shù)組的是 (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 沒有給數(shù)組賦初值
b {}里不能有*
c 正確,記住第一個[]中可以為空,第二個[]不能為空,死記
d a[2][3] 的意思是有兩個一維數(shù)組,每個一維數(shù)組里有3個元素,{{1},{2},{3,4}}; 她的意思是三個數(shù)組,{}中的每一個{}代表一個數(shù)組,里邊的數(shù)為數(shù)組元素
13、用C語言編寫的代碼程序 (B)
A)可立即執(zhí)行 B)是一個源程序
C)經(jīng)過編譯即可執(zhí)行 D)經(jīng)過編譯解釋才能執(zhí)行
死記
下面是我的答案,樓上的50和51題做錯了
四則運算表達式里面有double其他都會轉(zhuǎn)化為double,所以50題選A
x = 1, y = x + 3 / 2, 首先要明白逗號表達式的值去最后一個表達式的值,
而最后一個表達式是賦值表達式,它的值是y的值
而由運算符優(yōu)先級,它將先運算 3 / 2,都是整數(shù),當(dāng)然結(jié)果是1, 然后加上x,
答案是2
另外46題之所以是C是因為 || 運算符的短路問題,即左邊確定是正確的之后就不會
執(zhí)行右邊了
相信我的C能力吧,都用了好幾年了。。
41.字符串"ABC"在內(nèi)存占用的字節(jié)數(shù)是 D (三個字符加最后的一個'\0')
(A) 8
(B) 6
(C) 3
(D) 4
42.在PC中,'\n'在內(nèi)存占用的字節(jié)數(shù)是 D (轉(zhuǎn)義字符同樣是一個字節(jié))
(A) 3
(B) 4
(C) 2
(D) 1
43.在下列數(shù)據(jù)中屬于“字符串常量”的是 A (這個應(yīng)該懂吧,B是字符常量,C是錯的,D是變量)
(A) "ABC"
(B) 'a'
(C) 'abc'
(D) ABC
44.表達式10 != 9的值是 D (邏輯表達式的結(jié)果只有0和1)
(A) 0
(B) 真
(C) true
(D) 1
45.設(shè)a為5,執(zhí)行下列語句后,b的值不為2的是 A
(A) b = a % 2
(B) b = a 3 ? 2 : 4
(C) b = 6 - (--a)
(D) b = a / 2
46.設(shè)m, n, a, b, c, d均為0,執(zhí)行(m = n == b) || (n = c == d)后,m,n的值是 C
(A) 0,1
(B) 1,1
(C) 1,0
(D) 0,1
47.char型常量在內(nèi)存中存放的是 C
(A) 十進制代碼值
(B) BCD碼值
(C) ASCII值
(D) 內(nèi)碼值
48.下列敘述中正確的是 B
(A) C語言中的所有字母都不區(qū)分大小寫
(B) C語言中的所有關(guān)鍵字必須小寫
(C) C程序中的關(guān)鍵字必須小寫,其他標(biāo)識符不區(qū)分大小寫
(D) C程序中的搜有字母都必須小寫
49.在以下一組運算符中,優(yōu)先級最高的運算符是 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.下列只有當(dāng)整數(shù)x為奇數(shù)時,才是邏輯“真”的表達式是 D
(A) (x - x / 2 * 2) == 0
(B) !(x % 2 )
(C) x % 2 == 0
(D) !(x % 2 == 0)
53. 下列能正確表示a≥10或a≤0的C語言關(guān)系表達式是 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) 函數(shù)是C程序的基本單位
(D) 主函數(shù)的名字是mian
55. 下面不屬于C語言關(guān)鍵字的是 C
(A) enum
(B) typedef
(C) integer
(D) union
分享文章:c語言main函數(shù)測試題,每個c語言程序必須有一個main函數(shù)
當(dāng)前網(wǎng)址:http://vcdvsql.cn/article10/dsishgo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開發(fā)、Google、靜態(tài)網(wǎng)站、云服務(wù)器、電子商務(wù)、全網(wǎng)營銷推廣
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)