大學(xué)C語言期末考試題庫試題及答案_第1頁
大學(xué)C語言期末考試題庫試題及答案_第2頁
大學(xué)C語言期末考試題庫試題及答案_第3頁
大學(xué)C語言期末考試題庫試題及答案_第4頁
大學(xué)C語言期末考試題庫試題及答案_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

大學(xué)C語言期末考試題庫試題及答案一、選擇題1.以下關(guān)于C語言的說法正確的是()A.C語言程序總是從第一個定義的函數(shù)開始執(zhí)行B.在C語言程序中,要調(diào)用的函數(shù)必須在main函數(shù)中定義C.C語言程序總是從main函數(shù)開始執(zhí)行D.C語言程序中的main函數(shù)必須放在程序的開始部分答案:C2.已知`inta=5,b=7;`,則表達式`a+=a-=aa`的值是()A.-40B.-60C.-80D.-100答案:B3.若有定義`intx=10;`,則表達式`x-=x+x`的值為()A.-20B.-10C.0D.10答案:B4.以下能正確定義一維數(shù)組的選項是()A.`inta[5]={0,1,2,3,4,5};`B.`chara[]={0,1,2,3,4,5};`C.`chara={'A','B','C'};`D.`inta[5]="0123";`答案:B5.以下關(guān)于函數(shù)的說法錯誤的是()A.函數(shù)可以嵌套調(diào)用B.函數(shù)可以嵌套定義C.函數(shù)可以沒有返回值D.函數(shù)可以有多個參數(shù)答案:B6.若有定義`chars1[10],s2[10]={"books"};`,則能將字符串`"books"`賦給數(shù)組`s1`的正確語句是()A.`s1="books";`B.`strcpy(s1,s2);`C.`s1=s2;`D.`for(i=0;i<6;i++)s1[i]=s2[i];`答案:B7.以下關(guān)于指針的說法正確的是()A.指針變量可以存放任何類型的數(shù)據(jù)B.指針變量只能存放地址C.指針變量不能進行算術(shù)運算D.指針變量的大小是固定的,與所指向的數(shù)據(jù)類型無關(guān)答案:B8.若有定義`inta[10];`,則對數(shù)組元素的正確引用是()A.`a[10]`B.`a[3.5]`C.`a(5)`D.`a[0]`答案:D9.以下關(guān)于結(jié)構(gòu)體的說法錯誤的是()A.結(jié)構(gòu)體是一種用戶自定義的數(shù)據(jù)類型B.結(jié)構(gòu)體變量可以作為函數(shù)的參數(shù)C.結(jié)構(gòu)體成員可以是不同類型的數(shù)據(jù)D.結(jié)構(gòu)體變量不能進行初始化答案:D10.若有定義`structstudent{intnum;charname[20];floatscore;}stu;`,則以下對結(jié)構(gòu)體變量`stu`的成員`num`賦值正確的是()A.`stu.num=1001;`B.`student.num=1001;`C.`struct.num=1001;`D.`stu->num=1001;`答案:A二、填空題1.若有定義`inta=3,b=2,c=1;`,則表達式`(a>b)?a:b`的值為______。答案:32.若有定義`chars[]="hello";`,則數(shù)組`s`的長度為______。答案:63.若有定義`inta[3][4];`,則數(shù)組`a`中元素的個數(shù)為______。答案:124.若有定義`intp,a=10;`,要使指針`p`指向變量`a`,應(yīng)使用的語句是______。答案:`p=&a;`5.若有定義`structdate{intyear;intmonth;intday;};structstudent{intnum;charname[20];structdatebirthday;}stu;`,要訪問結(jié)構(gòu)體變量`stu`的成員`birthday`中的`year`,應(yīng)使用的表達式是______。答案:`stu.birthday.year`6.函數(shù)的返回值類型由______決定。答案:函數(shù)定義時指定的返回值類型7.若有定義`inta[5]={1,2,3,4,5};`,則`a[2]`的值為______。答案:38.若有定義`chars="hello";`,則`s[1]`的值為______。答案:'e'9.若要將一個整數(shù)`n`按十六進制形式輸出,應(yīng)使用的格式控制符是______。答案:%x10.若有定義`inta=5,b=3;`,則表達式`a%b`的值為______。答案:2三、程序分析題1.分析以下程序的輸出結(jié)果。```cinclude<stdio.h>intmain(){inta=5,b=10;if(a>b){printf("a>b\n");}else{printf("a<=b\n");}return0;}```答案:程序會輸出`a<=b`。首先定義了兩個整型變量`a`和`b`,并分別初始化為5和10。然后通過`if-else`語句判斷`a`是否大于`b`,由于`5`不大于`10`,所以執(zhí)行`else`分支,輸出`a<=b`。2.分析以下程序的輸出結(jié)果。```cinclude<stdio.h>intmain(){inti;for(i=1;i<=5;i++){if(i%2==0){continue;}printf("%d",i);}return0;}```答案:程序會輸出`135`。在`for`循環(huán)中,變量`i`從1開始,每次循環(huán)`i`的值加1,直到`i`大于5時停止循環(huán)。在每次循環(huán)中,使用`if`語句判斷`i`是否為偶數(shù),如果是偶數(shù),則執(zhí)行`continue`語句,跳過本次循環(huán)的剩余部分,直接進入下一次循環(huán);如果`i`是奇數(shù),則使用`printf`函數(shù)輸出`i`的值。3.分析以下程序的輸出結(jié)果。```cinclude<stdio.h>voidfunc(inta,intb){inttemp;temp=a;a=b;b=temp;}intmain(){intx=5,y=10;func(x,y);printf("x=%d,y=%d\n",x,y);return0;}```答案:程序會輸出`x=5,y=10`。在`main`函數(shù)中定義了兩個整型變量`x`和`y`,并分別初始化為5和10。然后調(diào)用`func`函數(shù),將`x`和`y`的值作為實參傳遞給`func`函數(shù)的形參`a`和`b`。在`func`函數(shù)中,通過臨時變量`temp`交換了`a`和`b`的值,但這只是在`func`函數(shù)內(nèi)部對形參的操作,不會影響到`main`函數(shù)中的實參`x`和`y`的值。所以在`main`函數(shù)中輸出`x`和`y`的值仍然是5和10。4.分析以下程序的輸出結(jié)果。```cinclude<stdio.h>intmain(){inta[3][3]={{1,2,3},{4,5,6},{7,8,9}};inti,j;for(i=0;i<3;i++){for(j=0;j<3;j++){printf("%d",a[i][j]);}printf("\n");}return0;}```答案:程序會輸出:```123456789```在`main`函數(shù)中定義了一個3行3列的二維數(shù)組`a`,并進行了初始化。然后使用兩層`for`循環(huán)遍歷二維數(shù)組,外層循環(huán)控制行,內(nèi)層循環(huán)控制列。在內(nèi)層循環(huán)中,使用`printf`函數(shù)輸出數(shù)組元素的值,每行輸出完后使用`printf("\n");`換行。5.分析以下程序的輸出結(jié)果。```cinclude<stdio.h>include<string.h>intmain(){chars1[20]="hello";chars2[20]="world";strcat(s1,s2);printf("%s\n",s1);return0;}```答案:程序會輸出`helloworld`。首先定義了兩個字符數(shù)組`s1`和`s2`,并分別初始化為`"hello"`和`"world"`。然后使用`strcat`函數(shù)將`s2`字符串連接到`s1`字符串的末尾。最后使用`printf`函數(shù)輸出連接后的字符串`s1`。四、編程題1.編寫一個程序,輸入兩個整數(shù),計算并輸出它們的和、差、積、商(商保留兩位小數(shù))。```cinclude<stdio.h>intmain(){inta,b;printf("請輸入兩個整數(shù):");scanf("%d%d",&a,&b);intsum=a+b;intdiff=a-b;intprod=ab;floatquot=(float)a/b;printf("和:%d\n",sum);printf("差:%d\n",diff);printf("積:%d\n",prod);printf("商:%.2f\n",quot);return0;}```2.編寫一個程序,輸入一個字符串,統(tǒng)計其中字母、數(shù)字和其他字符的個數(shù)。```cinclude<stdio.h>include<ctype.h>include<string.h>intmain(){chars[100];intletters=0,digits=0,others=0;printf("請輸入一個字符串:");gets(s);intlen=strlen(s);for(inti=0;i<len;i++){if(isalpha(s[i])){letters++;}elseif(isdigit(s[i])){digits++;}else{others++;}}printf("字母個數(shù):%d\n",letters);printf("數(shù)字個數(shù):%d\n",digits);printf("其他字符個數(shù):%d\n",others);return0;}```3.編寫一個函數(shù),實現(xiàn)兩個整數(shù)的交換,并在`main`函數(shù)中調(diào)用該函數(shù)。```cinclude<stdio.h>voidswap(inta,intb){inttemp=a;a=b;b=temp;}intmain(){intx=5,y=10;printf("交換前:x=%d,y=%d\n",x,y);swap(&x,&y);printf("交換后:x=%d,y=%d\n",x,y);return0;}```4.編寫一個程序,輸入一個一維數(shù)組,找出其中的最大值和最小值,并輸出它們的下標。```cinclude<stdio.h>defineN10intmain(){inta[N];inti;printf("請輸入%d個整數(shù):",N);for(i=0;i<N;i++){scanf("%d",&a[i]);}intmax_index=0,min_index=0;for(i=1;i<N;i++){if(a[i]>a[max_index]){max_index=i;}if(a[i]<a[min_index]){min_index=i;}}printf("最大值的下標:%d\n",max_index);printf("最小值的下標:%d\n",min_index);return0;}```5.編寫一個程序,定義一個結(jié)構(gòu)體表示學(xué)生信息(包括學(xué)號、姓名、成績),輸入3個學(xué)生的信息,然后輸出成績最高的學(xué)生的信息。```cinclude<stdio.h>include<string.h>defineMAX_NAME_LEN20structStudent{i

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論