




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、C語(yǔ)言程序設(shè)計(jì)第三單元單元測(cè)試答案一選擇題1.以下程序的運(yùn)行結(jié)果是 。void sub (int x,int y,int *z)*z=y-x;main()int a,b,c; sub(10,5,&a); sub(7,a,&b); sub(a,b,&c); printf("%4d,%4d,%4d",a,b,c);A) 5, 2, 3 B) -5, -12, -7C) -5, -12, -17 D) 5, -2, -7參考答案:A2.執(zhí)行以下程序后,a的值為【1】,b的值為【2】。main()int a,b,k=4,m=6,*p1=&k,*p2=
2、&m; a=p1=&m; b=(-*p1)/(*p2)+7; printf("a=%d,b=%dn",a,b);【1】A)1 B)1 C)0 D)4【2】A)5 B)6 C)7 D)10參考答案:【1】C 【2】C3.下面程序欲對(duì)兩個(gè)整型變量的值進(jìn)行交換,以下正確的說法是 。main()int a=10,b=20;printf("(1)a=%d,b=%dn",a,b);swap(&a,&b);printf("(2)a=%d,b=%dn",a,b);swap (int p,int q)int t;t=p;
3、p=q;q=t;A) 該程序完全正確B) 該程序有錯(cuò),只要將語(yǔ)句swap(&a,&b);中的參數(shù)改為a,b即可C) 該程序有錯(cuò),只要將swap()函數(shù)中的形參p、q和變量t均定義為指針即可D) 以上說法都不正確參考答案:D4.有四組對(duì)指針變量進(jìn)行操作的語(yǔ)句,以下判斷正確的選項(xiàng)是 。(1)int *p,*q;q=p; int a,*p,*q;p=q=&a;(2)int a,*p,*q;q=&a;p=*q; int a=20,*p;*p=a;(3)int a=b=0,*p;p=&a;b=*p; int a=20,*p,*q=&a;*p=*q;(4)i
4、nt a=20,*p,*q=&a;p=q; int p,*q;q=&p;A)正確:(1) 不正確:(2),(3),(4)B)正確:(1),(4) 不正確:(2),(3)C)正確:(3) 不正確:(1),(2),(4)D)以上結(jié)論都不正確參考答案:D參考分析:在四組操作中,完全正確的只有(4),對(duì)各組操作中出現(xiàn)的錯(cuò)誤分析如下。(1)int *p,*q;q=p; p沒有指向一個(gè)確定的空間 int a,*p,*q;p=q=&a;(2)int a,*p,*q;q=&a;p=*q; q沒有指向確定空間,且*q不是位置值 int a=20,*p;*p=a; p沒有指向一個(gè)確
5、定的空間(3)int a=b=0,*p;p=&a;b=*p; int a=20,*p,*q=&a;*p=*q; p沒有指向一個(gè)確定的空間5.以下程序有錯(cuò),錯(cuò)誤原因是 。main()int *p,i;char *q,ch; p=&i; q=&ch; *p=40; *p=*q; A)p和q類型不一致,不能執(zhí)行*p=*q;語(yǔ)句B)*p中存放的是位置值,因此不能執(zhí)行*p=40;語(yǔ)句C)q沒有指向具體的存儲(chǔ)單元,所以*q沒有實(shí)際意義D)q雖然指向了具體的存儲(chǔ)單元,但該單元中沒有確定的值,所以不能執(zhí)行*p=*q;語(yǔ)句參考答案:D6.有如下語(yǔ)句int a=10,b=20;*p
6、1=&a,*p2=&b;如果讓兩個(gè)指針變量均指向b,正確的賦值方式是 。A)*p1=*p2; B)p1=p2; C)p1=*p2; D)*p1=*p2;參考答案:B7.已有定義int k=2;int *p1,*p2;且p1,p2均指向變量k,下面不能正確執(zhí)行的賦值語(yǔ)句是 。A)k=*p1+*p2; B)p2=k; C)p1=p2; D)k=*p1*(*p2);參考答案:B8.變量的指針,其含義是指變量的 。A)值 B)位置 C)名 D)一個(gè)標(biāo)志參考答案:B9.若已定義int a;下面對(duì)(1)(2)兩個(gè)語(yǔ)句的正確解釋是 。(1)int *p=&a; (2)*p=a;A)語(yǔ)
7、句(1)和(2)中的*p含義相同,都表示給指針變量p賦值B)(1)和(2)語(yǔ)句的執(zhí)行結(jié)果,都是把變量a的位置賦給指針變量pC)(1)在對(duì)p進(jìn)行說明的同時(shí)進(jìn)行初始化,使p指向a (2)將變量a的值賦給指針變量pD)(1)在對(duì)p進(jìn)行說明的同時(shí)進(jìn)行初始化,使p指向a (2)將變量a的值賦給*p參考答案:D10.已有變量定義和函數(shù)調(diào)用語(yǔ)句int a=25;print_value(&a);下面函數(shù)輸出的正確結(jié)果是 。void print_value(int *x)printf("%dn",+*x);A)23 B)24 C)25 D)26參考答案:D11.下面判斷正確的是 。A
8、)char *a="china"等價(jià)于char *a;*a="china"B)char str10="china"等價(jià)于char str10;str="china"C)char *s="china"等價(jià)于char *s;s="china"D)char c6="china",d6="china"等價(jià)于char c6=d6="china"參考答案:C12.設(shè)char *s="ta017bc"則指針變量
9、s指向的字符串所占的字節(jié)數(shù)是 。A)9 B)5 C)6 D)7參考答案:C參考分析:字符串的串長(zhǎng)為5,但字符串占用6個(gè)字節(jié)的空間(含一個(gè)'0')。13.下面程序段中,for循環(huán)的執(zhí)行次數(shù)是 。char *s="ta018bc"for( ;*s!='0's+) printf("*");A)9 B)5 C)6 D)7參考答案:C14.下面能正確進(jìn)行字符串賦值操作的是 。A)char s5="ABCDE" B)char s5='A','B','C','D
10、','E'C)char *s;s="ABCDE" D)char *s;scanf("%s",s);參考答案:C15.設(shè)有下面的程序段,則下列正確的是 。char s="china" char *p;p=s;A)s和p完全相同 B)數(shù)組s中的內(nèi)容和指針變量p中的內(nèi)容相等C)s數(shù)組長(zhǎng)度和p所指向的字符串長(zhǎng)度相等 D)*p與s0相等參考答案:D16.下面程序段的運(yùn)行結(jié)果是 。char *format="%s,a=%d,b=%dn"int a=1,b=10;a+=b;printf(format,&q
11、uot;a+=b",a,b);A)for,"a+=b",ab B)format,"a+=b" C)a+=b,a=11,b=10 D)以上結(jié)果都不對(duì)參考答案:C17.下面程序的運(yùn)行結(jié)果是_。#include "stdio.h"#include "string.h"main()char *s1="AbDeG" char *s2="AbdEg" s1+=2; s2+=2; printf"%dn",strcmp(s1,s2); A)正數(shù) B)負(fù)數(shù) C)零
12、 D)不確定的值參考答案:B18.若有定義:int (*p)4;則標(biāo)識(shí)符p 。A)是一個(gè)指向整型變量的指針B)是一個(gè)指針數(shù)組名C)是一個(gè)指針,它指向一個(gè)含有四個(gè)整型元素的一維數(shù)組D)定義不合法參考答案:C19.若有定義:int *p4;則標(biāo)識(shí)符p 。A)是一個(gè)指向整型變量的指針B)是一個(gè)指針數(shù)組名C) 是一個(gè)指針,它指向一個(gè)含有四個(gè)整型元素的一維數(shù)組D) 定義不合法參考答案:B20.語(yǔ)句int (*ptr)();的含義是 。A)ptr是指向一維數(shù)組的指針變量B)ptr是指向int型數(shù)據(jù)的指針變量C)ptr是指向函數(shù)的指針,該函數(shù)返回一個(gè)int型數(shù)據(jù)D)ptr是一個(gè)函數(shù)名,該函數(shù)的返回值是指向i
13、nt型數(shù)據(jù)的指針參考答案:C21.已知學(xué)生記錄描述如下,下面對(duì)結(jié)構(gòu)體成員"computer"的賦值方式正確的是_struct student int num; char name8; struct float math; float engl; float computer; mark; std;A)studentaaaputer=84;B)markaaaputer=84;C)std.markaaaputer=84;D)stdaaaputer=84;參考答案:C22.以下對(duì)結(jié)構(gòu)體類型變量rcard的定義中不正確的是_A)#define REC struct card REC
14、 int id; float sala; rcard;B)struct card int id;floar sala; card rcard;C)struct card int id; float sala; struct card rcard;D)struct int id; float sala; rcard;參考答案:B23.設(shè)有以下說明語(yǔ)句,則下面的敘述不正確的是_struct abc int m; float n; stype;A)struct是結(jié)構(gòu)體類型的關(guān)鍵字B)abc是用戶定義的結(jié)構(gòu)體類型名C)m和n都是結(jié)構(gòu)體成員名D)stype是用戶定義的結(jié)構(gòu)體變量名參考答案:B二、填空題1
15、.下面程序段是把從終端讀入的一行字符作為字符串放在字符數(shù)組中,然后輸出,請(qǐng)分析程序填空。Int I;char s80,*p;for(i=0;i<79;i+)si=getchar();if(si=n) break;si= 【1】 ;p= 【2】 ;while(*p) putchar(*p+);參考答案:【1】0 【2】s2.下面程序的功能是檢查給定字符串s是否滿足下列兩個(gè)條件:a)字符串s中左括號(hào)”(”的個(gè)數(shù)與右括號(hào)”)”的個(gè)數(shù)相同;b)從字符串s的首字符起順序查找右括號(hào)”)”的個(gè)數(shù)在任何時(shí)候均不超過所遇到的左括號(hào)”(”的個(gè)數(shù);若字符串同時(shí)滿足上述兩個(gè)條件,函數(shù)返回1,否則返回0#incl
16、ude "stdio.h"main() char c80;int d;printf("Input a string:");gets(c);d=check(c);printf("%s",d?"Yes":"No");check (char *s)int l=0,r=0; while (*s!='0') if(*s= ='(') l+; else if (*s= =')') r+; if (【1】) return(0); 【2】;return(【3】);
17、參考答案:【1】【l<r】 【2】【s+】 【3】【l= =r】3.下面程序是判斷輸入的字符串是否是”回文”,(順讀和倒讀都一樣的字符串,稱”回文”,如level)。#include "stdio.h"#include "string.h"main()char s81,*p1,*p2; int n; printf("Input a string:"); gets(s); n=strlen(s); p1=s; p2=【1】; while (【2】) if (*p1!=*p2) break; else p1+;【3】;if (p1&
18、lt;p2) printf("Non");else printf("Yesn");參考答案:【1】【s+n-1】 【2】【p1<p2】 【3】【p2-】4.當(dāng)運(yùn)行以下程序時(shí),從鍵盤輸入this is a text.<CR>,則下面程序的運(yùn)行結(jié)果是_。#include “stdio.h”#define TURE 1#define FALSE 0int change(char *c,int status);main()int flage=TRUE; char ch;do ch=getchar(); flag=change(&ch,flag); putchar(ch); while (ch!=.);printf(“n”);int change (char *c,int status) if (*c= = return TRUE; else if (status&&*c<=z&&*c>=a) *c+=A-a;return FALSE;結(jié)果:This Is A Text.5.
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 武校校運(yùn)會(huì)活動(dòng)方案
- 消費(fèi)者行為分析:大數(shù)據(jù)時(shí)代的線上線下無(wú)縫對(duì)接
- 全球價(jià)值鏈重構(gòu):產(chǎn)業(yè)遷移趨勢(shì)與供應(yīng)鏈韌性提升策略研究
- 中外合作辦學(xué)項(xiàng)目的教育創(chuàng)新路徑與實(shí)踐研究
- 全域旅游模式下的區(qū)域旅游發(fā)展優(yōu)化策略
- 企業(yè)國(guó)際化經(jīng)營(yíng)與反壟斷法律問題探討
- 唐宋詞鑒賞與研究系列
- 鋰電池健康狀態(tài)監(jiān)測(cè)的新模型
- 體育場(chǎng)地工崗位面試問題及答案
- 建筑裝飾技術(shù)人員崗位面試問題及答案
- 天津醫(yī)院節(jié)能管理制度
- 2025年中國(guó)氯化聚醚項(xiàng)目投資計(jì)劃書
- 無(wú)創(chuàng)血流動(dòng)力學(xué)監(jiān)測(cè)
- DB37-T5311-2025建筑工程消防設(shè)計(jì)文件編制標(biāo)準(zhǔn)
- 成都市高新區(qū)2023年七年級(jí)《歷史》下冊(cè)期末試卷與參考答案
- 中國(guó)上市銀行2024年回顧及未來(lái)展望-安永-202505
- TSG Z7002-2022特種設(shè)備檢測(cè)機(jī)構(gòu)核準(zhǔn)規(guī)則
- 裝修售后維修合同協(xié)議
- 2025年數(shù)字經(jīng)濟(jì)下的創(chuàng)業(yè)政策調(diào)整策略試題及答案
- 第30課 在線安全防范-2024-2025學(xué)年三年級(jí)全一冊(cè)《信息技術(shù)》教案
- 政治 (道德與法治)八年級(jí)下冊(cè)自由平等的追求教案
評(píng)論
0/150
提交評(píng)論