c語言程式設計考試樣卷1
一、單項選擇題(共15小題,每題1分,總計15分)
1、c語言規定,在乙個c程式中,main()函式的位置(___c____)。a)必須在開始b)必須在最後c)可以任意d)必須在系統呼叫的庫函式之後以下皆可調通
選項分析:abd三項互斥,c與abd互斥
證實方法d—得到證實---選項a,b,c與d互斥:main()
#include <>證實方法b反例:main()
#define k 1int sum (int x)
證實方法a反例:
#define k 1int sum (int x)
main()
2、下列四組c語言識別符號中,正確的一組是(__d_____)。a) namechar_abca223b) abc?c5bytes-tianjin_54321c) printconsttypedefined) includeintegerdoubleshort_int變數名首位是字母或者下劃線
從第二位開始可以再使用數字
不允許和關鍵字衝突。如if switch continue break define include int char float double….3、已知字母『a的十進位制ascii**值為65,下面程式段的輸出是(__a_____)。
char ch1,ch2;ch1=a+5-3;ch2=a+6-3;
printf("%d,%c\n",ch1,ch2);a) 67,db) b,cc)不確定的值d) c,d注意printf中的%d,%c區別
5-3和6-3如何判斷??字元型的ascii碼是連續的,知道此條件即可知,是2,3接下來看輸出格式,則必有乙個是數字,乙個字元。
4、若有定義: int x=3,y=2;float a=2.5,b=3.
5;則表示式(x+y)%2+(int)a/(int)b的值是(___d____)。a) 0b) 2c) 1.5d) 1(x+y)%2+(int) a/(int)b
(3+2) %2+(int) 2.5/(int)3.5強制轉換到短記憶體空間,精度損失5%2 + 2 / 31 +0=1
注意,使用vc6測試輸出時,printf的引數使用%d和%f結果不同,只能使用f11啟動除錯,f10單步繼續,可檢視到數值為1
5、設int a=1,b=2,c=3,d=4,z;則表示式(a>b)?(z=c):(z=d)的值為(___a____)。
a) 4b) 2c) 1d) 3(a>b)?(z=c):(z=d)
(1>2)?(z = 3):(z = 4)= >
if(1>2)結果為0,到else
z=3elsez =4
6、以下程式段int x;
scanf("%d",&x);switch (x)
在執行時,若從鍵盤輸入3,則輸出為(___d____)。a) passb) passpoorc) poorpassfaild) passfail
此題考查switch-break,見以前課件,課上曾詳細除錯示例過。缺少break,則從首個符合switch的case開始,後面的case依次執行7、若用陣列名作為函式呼叫的實參,則傳遞給形參的是(___a____)。a)陣列的首位址b)陣列第乙個元素的值c)陣列中全部元素的值d)陣列元素的個數陣列的首位址
在指標內容講完即可了解到
8、若有說明double b[7][6];則對其元素的非法引用是(____d___)。a) b[3][5]b) b[7][5]c) b[2*3][4]d) b[0][9-6]均不可越界:開頭為0。
一維、二維、n維,各個維度的結尾為n-19.程式main()
執行時輸入:china tianjin,則程式的輸出為_____a____。a)name=chinab)name=china tianjinc)name=china td)name=tianjin注意,輸入的內容有空格china(空格)tianjin
則編譯器認為此為兩個字串china和tianjin,空格在此處表現的像\010、完成編譯預處理的工作是在(__b_____)完成的。a)編譯時b)編譯前c)編譯後d)執行時
預處理器在編譯器工作之前發揮作用,根據配置中的定義,提前修改原始檔中的**。記下此句有以上斷言,思考一下以前的程式裡面用的#define pi 3.1415是如何作用的?
11、程式中定義以下巨集#define w 3#define l w+4
若定義int val;且令val=l*l,則變數val的值為(___b____)。
a) 14b) 19c) 24d) 49
巨集沒講此例是無括號時的原樣帶入考查,是考查巨集邏輯錯誤l*l
=>w+4*w+4=>3+4*3 + 4=> 7+12 =19
12、若定義int a,b,*p1=&a,*p2=&b;使p2指向a的賦值語句是a) *p2=&a;b) p2=&p1;c) p2=&*p1d) p2=*&a;13、定義以下結構體陣列struct
x[3]=;
語句printf("\n%d,%s",x[1].num,x[2].name)的輸出結果為a) 2,usab) 4,englandc) 3,usad) 3,englandstruct還沒講
14、定義聯合資料型別unionx;
執行語句後,的值為a) 2b) 3c) 4d) 5union還沒講
15.程式intf(int a)
main()
執行時,輸出結果為________。a)555b)567c)456編譯執行一下,具體講解見附件htm檔案
d)666
二、讀程式,寫出程式的執行結果(共2小題,每題5分,總計10分)1、程式
void test( int *x,int *y)main()
執行時的輸出結果是指標指向時候,是不建立副本,對原有資料是有影響的對應的是:void test (int x,int y)回顧課上的講解2.程式
#include""main()
}執行時的輸出結果是先分析迴圈,再看反覆幹什麼事情迴圈多少次?
次數較少,可轉化為7個順序結構,並帶入
三、程式設計題(共7小題,總共75分)
1、編寫程式,輸入乙個華氏溫度f,要求輸出攝氏溫度c。計算公式為:2、有一函式
編寫程式,輸入x,輸出函式值y。(10分)
c59(f-32)
(10分)
(x0)2x3
2x23x4(0x5)y3
x2x3(5x10)
2(10x)x5
23581321
13、有一分數序列235813
,計算上述分數列,前20項之和。(10分)
4.有乙個一維陣列a[10],求陣列中數值最小的元素,及其下標值。(10分)main()
;}5.按行列方式輸出二維陣列a[3][4],並計算其中所有值大於10的元素之和。(10分)main()
;6.編寫函式void fun(char *s1,char *s2),其功能是將字串s2連線到s1後邊。(10分)eg:字串s1為:
this is a boy!字串s2為:that is a girl!
連線後,字串s1為:this is a boy! that is a girl!void fun(char *s1,char *s2){}main(){}
char sa[50]=」 this is a boy!」char sb[50]=」 that is a girl!」fun(sa,sb);
printf(「\nthe result string is: %s」,sa);
7.編寫函式fun(int s,int n,int x),其功能是刪除陣列s中的乙個值為x的元素。(15分)eg:s[10]:2,4,6,9,10,12,14,15,16,18x=6
刪除後,陣列s[10]:2,4,9,10,12,14,15,16,18,剩餘9個有效元素。void fun(int*s,int n,int x){}
main()
;int x,int y;
printf(「\nplease enter x:」);scanf(「%d」,&x):
printf(「\n the original array is:」):for (i=0;i<10;i++)printf(「%d」,a[i]);fun(a,10,x);
printf(「\n the result is:」):for (i=0;i<9;i++)printf(「%d」,a[i]);}
天津科技大學天津科技大學職工探親申請表
天津科技大學職工探親申請表 注 1.請探親假者,必須填此表,辦理審批手續,銷假後將此表交人力資源處簽報路費。2.雙方職工在報銷路費時,必須持對方單位證明。3.根據規定,職工探親假均安排在寒暑假內,其它時間各單位一律不批探親假,遇到特殊情況需報學校批准,所批假,按事假對待。4.填寫此表一式二份,乙份交...
西安科技大學C語言實習報告
成績 高階程式語言 課程設計報告 學院 西安科技大學通訊學院 班級 電科1001 學號 1007060120 姓名 任新龍 目錄引言3 演算法設計4 除錯報告6 附錄7引言 1 實訓專案單 編制部門 電子工程系編制人 陳偉審核人 編制日期 2011年7月1日 2 求轉置矩陣 編寫乙個程式,求3 4陣...
湖南科技大學2023年C語言上機題庫
第一套1 設計乙個程式,從鍵盤輸入3個整數,按由大到小的順序輸出。include main if b if a printf d,d,d n a,b,c 2 求1 3 5 7 95 97 99的和。include main printf d n sum 3 寫乙個函式,從鍵盤輸入乙個整數,如果該整數...