版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、C語言程序設(shè)計(jì)各章練習(xí)題2016年12月匯編第1-3章 C語言基礎(chǔ)、編程規(guī)范、順序結(jié)構(gòu)程序設(shè)計(jì)編程題1:設(shè)a和b均為int型變量,編寫一個(gè)程序,通過鍵盤讀入a,b的值,然后交換a,b的值。要求屏幕顯示“輸入2個(gè)整數(shù),用空格隔開”的提示語句,并且輸出交換前a,b的值,交換后a,b的值。附加要求:(1)允許定義第3個(gè)變量,實(shí)現(xiàn)交換; (2)不允許定義第3個(gè)變量,實(shí)現(xiàn)交換。第4章選擇結(jié)構(gòu)程序設(shè)計(jì)編程題2:根據(jù)下列函數(shù)關(guān)系寫程序,要求提示輸入x的值,輸出y的值。編程題2:根據(jù)下列函數(shù)關(guān)系寫程序,要求提示輸入x的值,輸出y的值。編程題3:求 ax2+bx+c=0方程的解。(只輸出b2-4ac>=0
2、的求解結(jié)果,小于0,輸出“不予求解!”)第5章 循環(huán)結(jié)構(gòu)程序設(shè)計(jì)編程題4:編程計(jì)算。要求提示鍵盤輸入n,如n為負(fù)數(shù),不予計(jì)算,直接返回。編程題5:編程序計(jì)算n!,要求n從鍵盤輸入,如n小于0,不予計(jì)算。編程題6:從鍵盤輸入一個(gè)數(shù)n,判斷n是否是素?cái)?shù)。編程題6:編寫程序輸出1100之間的偶數(shù),要求屏幕顯示時(shí)5個(gè)偶數(shù)一行,每個(gè)數(shù)占5位,右對(duì)齊。編程題7:編程計(jì)算100到1000之間有多少個(gè)數(shù)其各位數(shù)字之和是5,并將其輸出。編程題8:求滿足下列條件的三位數(shù)n,它除以11(整數(shù)相除)所得到的商等于n的各位數(shù)字的平方和,且其中至少有二位數(shù)字相同的數(shù)。編程題9:有一些十進(jìn)制整數(shù)對(duì)ab和cd具有如下特性:a
3、b×cd=ba×dc,其中ab且cd。如:12×42=21×24。請(qǐng)編程找出3050之間滿足上述等式所有m,n值,并按上述等式的格式輸出。(×用*表示)編程題10:從鍵盤上輸入一個(gè)整數(shù),然后把這個(gè)整數(shù)的各位逆序輸出。例如,輸入123456,輸出654321。第6章 數(shù)組編程題11:有一個(gè)已排好序的數(shù)組int a11=-5,-3,0,6,8,12,16,28,66,88;,要求輸入一個(gè)數(shù)后,按原來排序的規(guī)律將它插入數(shù)組中。編程題12:輸入一個(gè)字符串(字符個(gè)數(shù)為小于100),統(tǒng)計(jì)其中字母、數(shù)字、空格以及其它符號(hào)的個(gè)數(shù),并將大寫字母改為小寫字母,輸出
4、改變后的字符串。(提示:A的ASCII值為65,a的ASCII值為97)編程題12:輸入一行字符(字符數(shù)組的個(gè)數(shù)小于100),統(tǒng)計(jì)其中字母、數(shù)字以及其它符號(hào)的個(gè)數(shù)。(注:數(shù)組限定字符個(gè)數(shù)小于100)編程題12:輸入一行字符,分別統(tǒng)計(jì)出其中英文字母、數(shù)字、空格和其他字符的個(gè)數(shù)。(注:字符個(gè)數(shù)不受限制)第7章函數(shù)編程題13:編寫一個(gè)子函數(shù) int fun ( int n),其功能是判斷整數(shù)n是否為素?cái)?shù),n是素?cái)?shù),返回值為1;n不是素?cái)?shù),返回值為0。調(diào)用該函數(shù),將100200之間的素?cái)?shù)全部輸出,要求屏幕上每個(gè)數(shù)占4位,每行顯示5個(gè)素?cái)?shù),左對(duì)齊。(循環(huán)、條件分支、子函數(shù)、變量的值傳遞、屏幕顯示格式控制
5、)編程題14:主函數(shù)中定義兩個(gè)數(shù)組int a5=5,4,8,-1,2,b10=1,-1,2,4,8,4,0,9,3,7;用子函數(shù)實(shí)現(xiàn)從小到大的冒泡排序,子函數(shù)為void bubble(int ,int);要求在主函數(shù)中顯示排序前、后的數(shù)組a和b的元素。(循環(huán)、條件分支、子函數(shù)、數(shù)組、地址傳遞)編程題15:主函數(shù)中定義兩個(gè)數(shù)組int a5=5,4,8,-1,2,b10=1,-1,2,4,8,4,0,9,3,7;用子函數(shù)實(shí)現(xiàn)從小到大的選擇法排序,子函數(shù)為void sort(int ,int);要求在主函數(shù)中顯示排序前、后的數(shù)組a和b的元素。(循環(huán)、條件分支、子函數(shù)、數(shù)組、地址傳遞)編程題16:用遞
6、歸函數(shù)計(jì)算n!。編程題17:編寫一個(gè)子函數(shù) int fact ( int n),計(jì)算n的階乘。調(diào)用該函數(shù)計(jì)算1!+2!+3!+n!,要求n從鍵盤輸入,如輸入n小于0,不予計(jì)算。(循環(huán)、遞歸函數(shù))編程題18:將16進(jìn)制或8進(jìn)制或2進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制數(shù)(字符數(shù)組、字符串函數(shù)、子函數(shù)、字符ASCII值與10進(jìn)制數(shù)的轉(zhuǎn)換,指數(shù)函數(shù)的調(diào)用)編程題18:編程實(shí)現(xiàn)八進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制數(shù)(注:用字符數(shù)組n100接收輸入,輸入的八進(jìn)制數(shù)肯定正確,無須檢測;八進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制數(shù)的子函數(shù)為int htoi(char hnum );)編程題18:編寫一個(gè)子函數(shù),將16進(jìn)制數(shù)轉(zhuǎn)換為10進(jìn)制數(shù)。編程題19:編寫一個(gè)子函
7、數(shù),主函數(shù)用字符數(shù)組作為實(shí)參,統(tǒng)計(jì)字符串中字母、數(shù)字、空格以及其他符號(hào)的個(gè)數(shù),要求主函數(shù)中顯示字符串與統(tǒng)計(jì)結(jié)果。編程題20:編寫一個(gè)子函數(shù),主函數(shù)輸入一行字符,子函數(shù)找出字符串中最長的單詞,并顯示結(jié)果。編程題21:用遞歸法將一個(gè)整數(shù)n轉(zhuǎn)換為字符串。例如:輸入483,輸出字符串“483”,n的位數(shù)不確定。編程題22:寫一個(gè)子函數(shù),將輸入的字符串按反序存放,在main中輸入和輸出字符串。第8章指針編程題23:編寫一個(gè)子函數(shù)mystrcmp(char *s1,char *s2)實(shí)現(xiàn)2個(gè)字符串的比較。編程題23:編程實(shí)現(xiàn)兩個(gè)字符串連接起來,不要用strcat函數(shù)。編程題23:用函數(shù)調(diào)用實(shí)現(xiàn)字符串的復(fù)制
8、。編程題23:寫一個(gè)函數(shù),求一個(gè)字符串的長度。在main函數(shù)中輸入字符串,并輸出其長度。編程題24:寫一個(gè)用矩形法求定積分的通用函數(shù),分別計(jì)算編程題25:輸入一個(gè)字符串,內(nèi)有數(shù)字和非數(shù)字字符,如: A123x456 17960?302tab5876,將其中連續(xù)的數(shù)字作為一個(gè)整數(shù),依次用數(shù)組存放這些數(shù),統(tǒng)計(jì)有多少個(gè)整數(shù),并輸出這些數(shù)。編程題26:主函數(shù)輸入整數(shù)的個(gè)數(shù),用指針變量動(dòng)態(tài)申請(qǐng)內(nèi)存,并用鍵盤按任意次序輸入n個(gè)整數(shù),用子函數(shù)void bubble(int ,int)實(shí)現(xiàn)從小到大的冒泡排序。第9章 結(jié)構(gòu)編程題27:建立一個(gè)鏈表,每個(gè)結(jié)點(diǎn)包括:學(xué)號(hào)、姓名、性別、年齡,輸入一個(gè)年齡,如果鏈表中的
9、結(jié)點(diǎn)所包含的年齡等于此年齡,則將此結(jié)點(diǎn)刪去。編程題28:13個(gè)人圍成一圈,從第一個(gè)人開始順序報(bào)號(hào),凡報(bào)到3者退出圈子,找出最后留在圈子中的人原來的序號(hào)。要求用鏈表實(shí)現(xiàn)。編程題29:閱讀鏈表操作相關(guān)函數(shù),完成指定的操作函數(shù)。鏈表內(nèi)容僅限表頭表尾添加、刪除、查詢、顯示、保存,不考排序、中間節(jié)點(diǎn)的插入和刪除#include "stdio.h"#include "malloc.h"#include "string.h"struct Student char name20; int num; int math; struct Student *
10、next;struct Student *Create(struct Student *head); /生成數(shù)據(jù)鏈表void ShowList(struct Student *head); /顯示鏈表void saveList(struct Student *head); /保存鏈表數(shù)據(jù)void AddTail(struct Student *head,struct Student *temp); /表尾添加元素struct Student *AddHead(struct Student *head,struct Student *temp); /表頭添加元素struct Student *D
11、eleteSomeone(struct Student *head); /刪除元素void FindSomeone(struct Student *head); /查詢?cè)豷truct Student *DeleteHead(struct Student *head);/刪除表頭void DeleteTail(struct Student *head);/刪除表尾void main()struct Student *head=NULL,*temp=NULL;int choice;doprintf("1:創(chuàng)建數(shù)據(jù)鏈表n");printf("2:添加鏈表單元n&quo
12、t;);printf("3:刪除鏈表單元n");printf("4:查詢鏈表單元n");printf("5:刪除表頭n");printf("6:刪除表尾n");printf("7:退出n");printf("請(qǐng)輸入功能選擇:");scanf("%d",&choice);/cin>>choice;if(choice=1) head=Create(temp);ShowList(head);saveList(head);else if(cho
13、ice=2)/表頭添加元素 temp=(struct Student *)malloc(sizeof(struct Student);printf("姓名:"); scanf("%s",temp->name);printf("學(xué)號(hào):"); scanf("%d",&temp->num);printf("成績:"); scanf("%d",&temp->math);AddTail(head,temp);/ head=AddHead(head,te
14、mp);ShowList(head);saveList(head);else if(choice=3) /刪除元素head=DeleteSomeone(head);ShowList(head);saveList(head);else if(choice=4) /查找元素FindSomeone(head);else if(choice=5) /刪除表頭head=DeleteHead(head);ShowList(head);saveList(head);else if(choice=6) /刪除表尾DeleteTail(head);ShowList(head);saveList(head);el
15、se if(choice=7)printf("謝謝使用!n");elseprintf("非法輸入,請(qǐng)輸入17之間的數(shù)!n");while(choice!=7);struct Student *Create(struct Student *head)/包含讀文件創(chuàng)建鏈表struct Student *pS,*pEnd;FILE *fp;fp=fopen("e:list.txt","r");if(fp!=NULL)/表明已有鏈表數(shù)據(jù),直接讀入int flag; while(1)pS=(struct Student *)
16、malloc(sizeof(struct Student);flag=fscanf(fp,"%s %d %d",pS->name,&pS->num,&pS->math);if(flag=EOF)break;if(head=NULL)head=pS;elsepEnd->next=pS;pEnd=pS;if(head!=NULL)pEnd->next=NULL;printf("已從文件中讀入數(shù)據(jù)創(chuàng)建鏈表!n");delete pS;fclose(fp);if(head=NULL)while(1)pS=(struc
17、t Student *)malloc(sizeof(struct Student);printf("姓名:");scanf("%s",pS->name);if(strcmp(pS->name,"000")printf("學(xué)號(hào):");scanf("%d",&pS->num);printf("成績:");scanf("%d",&pS->math); elsebreak;if(head=NULL)head=pS;elsep
18、End->next=pS;pEnd=pS;pEnd->next=NULL;delete pS;return head;void ShowList(struct Student *head)/顯示鏈表上的數(shù)據(jù)printf(" 學(xué)生姓名學(xué)號(hào)成績:n");while(head)printf("%20s",head->name);printf("%6d",head->num);printf("%5dn",head->math);head=head->next;void saveList(
19、struct Student *head)/保存鏈表上的數(shù)據(jù)FILE *fp;fp=fopen("e:list.txt","w");if(fp=NULL)printf("無法創(chuàng)建文件e:list.txt!");return;while(head)fprintf(fp,"%s %d %dn",head->name,head->num,head->math);head=head->next;fclose(fp);void AddTail(struct Student *head,struct S
20、tudent *temp)/加在表尾struct Student *last;while(head)last=head;head=head->next;last->next=temp;temp->next=NULL;struct Student *AddHead(struct Student *head,struct Student *temp)/加在表頭struct Student *first;first=head;head=temp;head->next=first;return head;struct Student *DeleteSomeone(struct
21、Student *head)struct Student *temp;int xnum,flag=0;printf("請(qǐng)輸入學(xué)號(hào):");scanf("%d",&xnum);if(head=NULL)printf("表為空!n");return head;if(head->num=xnum)temp=head;head=head->next;delete temp;return head;Student *first=head;while(head)if(head->next=NULL)break;if(hea
22、d->next->num=xnum)temp=head->next;head->next=temp->next;delete temp;flag=1;break;head=head->next;if(flag=0)printf("未發(fā)現(xiàn)!n");return first;void FindSomeone(Student *head)/按學(xué)號(hào)查找int xnum,flag=0;printf("請(qǐng)輸入學(xué)號(hào):");scanf("%d",&xnum);while(head)if(head->n
23、um=xnum)printf("%20s",head->name);printf("%6d",head->num);printf("%4dn",head->math);flag=1;break;head=head->next;if(flag=0)printf("未發(fā)現(xiàn)!n");struct Student *DeleteHead(struct Student *head)if(head=NULL)printf("表為空!n");return head;if(head-&g
24、t;next=NULL)delete head;head=NULL; return head;elsestruct Student *first=head;head=head->next;delete first;return head;void DeleteTail(struct Student *head)if(head=NULL)printf("表為空!n");if(head->next=NULL)delete head;head=NULL;elsestruct Student *temp,*end;end=head;while(end->next!
25、=NULL)temp=end;end=end->next;temp->next=NULL;第10章 文件編程題30:編程實(shí)現(xiàn):有一個(gè)文本文件“a.txt”,里面有大小寫英文字母、數(shù)字和其它符號(hào)。要求分別統(tǒng)計(jì)其中大寫字母、小寫字母、數(shù)字以及其它字符的個(gè)數(shù)。編程題30:從鍵盤輸入一串字符,并以 # 結(jié)束,將其中的大寫字母全部轉(zhuǎn)換成小寫字母,并輸出到計(jì)算機(jī)D盤文件 “test.txt”中保存。(提示:一串字符并不意味著一行字符,另外一串字符的具體字符個(gè)數(shù)是不定的。)編程題31:從鍵盤輸入一個(gè)字符串,將其中的小寫字母全部轉(zhuǎn)換為大寫字母,然后輸出到C盤“test”文件中保存,輸入的字符串以“
26、!”結(jié)束。編程題32:有兩個(gè)磁盤文件“A”和“B”,各存放一行字母,要求把這兩個(gè)文件中的信息合并(按字母順序排列),輸出到一個(gè)新文件“C”中去。編程題33:有5個(gè)學(xué)生,每個(gè)學(xué)生有3門課程的成績,從鍵盤輸入學(xué)號(hào)、姓名、3門課程成績,計(jì)算每個(gè)學(xué)生的平均成績,將原有數(shù)據(jù)和平時(shí)成績存放在磁盤文件“stud”中。第1-3章 C語言基礎(chǔ)、編程規(guī)范、順序結(jié)構(gòu)程序設(shè)計(jì)一、選擇題1. C語言是一種( C )程序設(shè)計(jì)語言。A. 低級(jí)B. 面向?qū)ο驝. 高級(jí)D. 智能2. 下列特性中,( D )不是C語言的特征。A.運(yùn)行效率高B.結(jié)構(gòu)化程序設(shè)計(jì)C.能直接訪問物理地址D.類型檢測嚴(yán)格3下列標(biāo)識(shí)符中,( D )不是C的
27、關(guān)鍵字;A. intB. floatC. charD. scanf4下列標(biāo)識(shí)符中,( D )不是C的關(guān)鍵字;A. sizeofB. shortC. longD. define5下列標(biāo)識(shí)符中,( D )不是C的關(guān)鍵字;A. gotoB. breakC. autoD. printf6下列標(biāo)識(shí)符中,( D )不是C的關(guān)鍵字;A. static B. structC. voidD. include7下列自定義標(biāo)識(shí)符中,( C )是不符合規(guī)定。A. point1xB. _point1xC. 2pointxD. pointx_28下列自定義標(biāo)識(shí)符中,( C )是不符合規(guī)定。A. MAXB. _MINC.
28、MAX$D. MIN_29下列自定義標(biāo)識(shí)符中,( D )是不符合規(guī)定。A. point1_B. _point1xC. pointxD. pointx_ #10下列自定義標(biāo)識(shí)符中,( A )是不符合規(guī)定。A. 2_point1xB. _point1xC. pointxD. pointx_211下列四個(gè)選項(xiàng)中,是不合法的用戶標(biāo)識(shí)符的選項(xiàng)是( C )AP_0 _abcgototemp12下面是不正確的字符串常量的是( A )Aabc“1212”“0”“”13. 已知int a; float f; scanf(“a=%d,f=%f”,&a,&f); 為了把10和3.14分別賦
29、值給a和f,則正確的輸入為( C )A10,3.14 B. 10 3.14 C. a=10,f=3.14 D. a=10 f=3.1414輸入語句為:scanf("%f,%fn",&radius,&high);下列鍵盤輸入( D )是正確的。 A1 2; B1,2n; C12; D1,2;15輸入語句為:scanf("a=%f,b=%f",&radius,&high);從鍵盤輸入( D )是正確的。 A1 2; B1,2; C12; Da=1,b=2;16輸入語句為:scanf("a=%f,b=%fn"
30、,&radius,&high);從鍵盤輸入( D )是正確的。 A1 2; B1,2; C12; Da=1,b=2n;17輸入語句為:scanf("a=%fb=%f",&radius,&high);從鍵盤輸入( D )是正確的。 A1 2; B1,2; C12; Da=1b=2;18double PI=3.1415926, 輸出語句為:printf("%3.2lf",PI);下列輸出結(jié)果( D )是正確的。 A3.1415926; B3.2; C3.1; D3.14;19double PI=3.1415926, 輸出語句為
31、:printf("%5.4lf",PI);下列輸出結(jié)果( B )是正確的。 A3.1415926; B3.1415; C3.1416; D5.4;20double PI=3.1415926, 輸出語句為:printf("%3.4lf",PI);下列輸出結(jié)果( )是正確的。A3.1415926; B3.141; C3.1415; D3.1416;21設(shè)x,y均為float型變量,則下列不合法的賦值語句是( )A+x y=(x%2)/10Cx*=y+8 x=y=022double PI=3.1415926, 輸出語句為:printf("%4.2lf
32、",PI);下列輸出結(jié)果( )是正確的。 A3.1415926; B4.2; C3.141; D3.14;23. int a=-1;C語言整型數(shù)分配4個(gè)字節(jié),在計(jì)算機(jī)中下列十六進(jìn)制表示的(A)是正確的。 Affffffff; B80000001; C10000001; D00000001;24 int a=1;C語言整型數(shù)分配4個(gè)字節(jié),在計(jì)算機(jī)中下列十六進(jìn)制表示的a()是正確的。 A00000001; B10000001; C80000000; Dffffffff;25 int a=-1;C語言整型數(shù)分配4個(gè)字節(jié),在計(jì)算機(jī)中下列十六進(jìn)制表示的a()是正確的。 A100000
33、01; B-00000001; C-1; Dffffffff;*26 int a=-1;C語言整型數(shù)分配4個(gè)字節(jié),在計(jì)算機(jī)中下列十六進(jìn)制表示的a()是正確的。 A-ffffffff; B80000001; Cffffffff; D-1;*27設(shè)有下列變量說明:char a; int x; float y; double z; 則表達(dá)式a*x-z+y的值的數(shù)據(jù)類型為()。*Afloat char int double28已知字母a的ASCII碼為十進(jìn)制數(shù)97,且設(shè)ch為字符型變量,則表達(dá)式ch=a+8-3的值為()Afa C.d10229已知ch是字符型變量,下列不正確的賦值語句是()Ach=a
34、+bch=0ch=a+bch=5+930若s是int型變量,則表達(dá)式s=25/3%3的值為()A25 12 331若s是int型變量,則表達(dá)式s%2+(s-1)%2的值為()A0 11232若s是int型變量,則表達(dá)式s%2+(s+1)%2的值為()A0 12 不確定33下列表達(dá)式中,不能正確表達(dá)代數(shù)式含義的C語言表達(dá)式是()Ax/a/b*y*2 2*x*y/a/b2*x*y/a*bx*y/b/a*234若x、i、j、k均為int變量,則計(jì)算表達(dá)式x=(i=4,j=16,k=32);后,x的值為() A. 4 B. 16 C. 32 D. 5235. 已知int a=6,b=6; 執(zhí)行b=(+
35、b)+(a+);后,a和b的值為()。A. a=7,b=13 B. a=7,b=14 C. a=6,b=13 D. a=6,b=1436若有定義:int x=5,y=2; 則計(jì)算表達(dá)式y(tǒng)+=y=x*=y后, y的值為()A16 1671037若a是int型變量,且其初值為6,則計(jì)算表達(dá)式a+=a-=a*a后,a的值為()A-30-60-24638若x的初值為7,執(zhí)行語句x+=x-=x+x;后,x的值為()A21-1414-2139C語言的編譯系統(tǒng)對(duì)宏命令的處理是()A在程序運(yùn)行時(shí)進(jìn)行的B在程序連接時(shí)進(jìn)行的C和C程序中的其他語句同時(shí)進(jìn)行編譯的D在對(duì)源程序中其他成分正式編譯之前進(jìn)行的40以下正確的
36、敘述是()AC語言的預(yù)處理功能是指完成宏替換和包含文件的調(diào)用B預(yù)處理指令只能位于C源程序文件的首部C凡是C源程序中行首以“#”標(biāo)識(shí)的控制行都是預(yù)處理命令DC語言的編譯預(yù)處理就是對(duì)源程序進(jìn)行初步的語法檢查41以下在任何情況下計(jì)算平方數(shù)時(shí)都不會(huì)引起二義性的宏定義是()A#define POWER(x) x*x #define POWER(x) (x)*(x)C#define POWER(x) (x*x) #define POWER(x) (x)*(x)42以下有關(guān)宏替換的敘述中錯(cuò)誤的是()A宏替換不占用運(yùn)行時(shí)間 B宏替換只是字符替換C宏替換在編譯之前進(jìn)行 D宏名必須用大寫字母表示43. 下列程序段
37、的運(yùn)行結(jié)果為()。void main() char c1,c2;c1=A+5-3; c2=A+6-3;printf(“%d,%c”,c1,c2) A. C,DB. 67,D C. B,C D. 無確定值二、填空題1在C語言中,實(shí)型變量可以分為兩種類型,它們是和。2若x,a為整型變量,則計(jì)算表達(dá)式x=(a=4,6*2)后的x值為,計(jì)算表達(dá)式x=a=4,6*2后的x值為。3若x和n均是int型變量,且x和n的初值均為5,則計(jì)算表達(dá)式x+=n+后x的值,n的值為。三、閱讀下列程序,在下劃線上寫出輸出結(jié)果1程序段:#define MUL(x) (x)*(x)*(x)main( )printf(“%d”
38、,MUL(1+2)+3);的結(jié)果是。2程序段:#define y(t) (t)*(t)main( )printf(“%d”,y(1+2)+3);的結(jié)果是。3以下程序的輸出結(jié)果是(19) 21。#include <stdio.h>#define M(x,y,z) x*y+zvoid main()int a=2,b=3,c=4;printf("%dn", M(a+b,b+c,c+a);/知識(shí)點(diǎn):宏定義是編譯時(shí)先替換,運(yùn)行時(shí)才計(jì)算第4章選擇結(jié)構(gòu)程序設(shè)計(jì)一、選擇題1若x是int型變量,則表達(dá)式x%2+(x+1)%2的值為()。A0 12 不確定2設(shè)有定義int a=3,
39、b=4,c=5,則表達(dá)式a|b+c&&b=c的值為()。A3 10 不確定3判斷字符串a(chǎn)和b是否相等,應(yīng)當(dāng)使用()Aif (a=b) if (a=b)Cif (strcpy(a,b) if (strcmp(a,b)4表達(dá)式5!=4的值是()A0 1 true 任一非零數(shù)5設(shè)邏輯型變量a,b,c,其中a的值為1,則邏輯運(yùn)算表達(dá)式a|b|c的值是()A0 1 true 不確定6若a=5,b=4,c=2時(shí),表達(dá)式a>b!=c的值是()A1 0 非1 不確定7設(shè)邏輯型變量a,b,c,其中a的值為0,則邏輯運(yùn)算表達(dá)式a&&b&&c的值是()A0 1
40、非1 不確定8若當(dāng)a的值為奇數(shù)時(shí),表達(dá)式的值為“真”,當(dāng)a的值為偶數(shù)時(shí),表達(dá)式的值為“假”,則以下不能滿足要求的表達(dá)式是()Aa%2=1?。╝%2=0) C. ?。╝%2)a%29判斷字符型變量x是否為大寫字母的正確表達(dá)式是()AA<=x<=Z(x>=A)&(x<=Z)C(x>=A)&&(x<=Z)(x>=A) and (x<=Z)10若x=5,y=2,z=1,則表達(dá)式x-y<z|y=z的值是()A013211以下不正確的if語句形式是()Aif (x>y && x!=y); Bif (x=y)
41、 x+=y;Cif (x!=y)x=1 else x=2; Dif (x<y) x+;y+12設(shè)有定義int a=1, b=2, c=3, d=4, m=2, n=2;執(zhí)行(m=a>b)&&(n=c>d)后n的值是()A1 2 34二、填空題1在C語言中,若x,y,z均為int型變量,則“x或y中有一個(gè)小于z”的表達(dá)式描述形式為。三、 閱讀下列程序,在下劃線上寫出輸出結(jié)果1.#include <stdio.h>void main( )int x=1,y=0, a=0, b=0;switch(x)case 1: switch(y) case 0: a
42、+; break;case 1:b+; break;case 2:a+;b+;break; printf(“%d,%d ”,a,b);/*輸出結(jié)果:*/2以下程序的運(yùn)行結(jié)果是。#include <stdio.h>void main( ) int x=5; if (x+>5) printf(“%dn”,x);else printf(“%dn”,x-);四、程序填空1下列程序的功能是實(shí)現(xiàn)輸出a,b,c三個(gè)數(shù)中的最大值。請(qǐng)為程序填空。#include <stdio.h>void main( )int a=5,b=4,c=8;;if () u=a; else u=b; i
43、f () v=u; else ;printf(“v=%dn”, v);2下列程序的功能是根據(jù)下列函數(shù)關(guān)系,輸入x的值,計(jì)算y的值。請(qǐng)為程序填空。#include <stdio.h>void main( )int x, y; scanf(“%d”, );if () y=x*(x+5);else if () y=4*x;else ;printf(“%dn”, y);第5章循環(huán)結(jié)構(gòu)程序設(shè)計(jì)一、選擇題1執(zhí)行語句for (i=1;i+<3;);后變量i的值的是()。A3 4 C. 5 不確定2. 對(duì)于程序段int k=10; while(k) k=k-1; 下面描述正確的是()。 A.
44、 循環(huán)體執(zhí)行10次B. 該循環(huán)為無窮循環(huán)3程序段:a=10;b=0;do b+=2; a-=2+b; while (a>=0);中循環(huán)體的執(zhí)行次數(shù)()A1 2 3 4C. 循環(huán)體執(zhí)行一次 D. 循環(huán)體一次也不執(zhí)行4設(shè)i為整型變量,則語句for (i=2;i=0;) a=3;中循環(huán)體的執(zhí)行次數(shù)為()A無限次0次1次2次5設(shè)有下列程序段:x=1; do x=x*x; while (!x)則該循環(huán)是()A死循環(huán)循環(huán)執(zhí)行一次循環(huán)執(zhí)行二次語句錯(cuò)誤6設(shè)有程序段:int k=10;while (k=0)k-;則下列描述中正確的是()Awhile循環(huán)執(zhí)行10次while循環(huán)執(zhí)行無限次Cwhile循環(huán)執(zhí)行
45、0次while循環(huán)執(zhí)行1次7程序段:x=y=0;while (x<15) y+,x+=+y;執(zhí)行后x值是()A7 128 208與語句while (!E)中表達(dá)式!E等價(jià)的是()AE=0 E!=1 C. E!=0 E=19以下不是死循環(huán)的語句是()Afor (y=0,x=1;x>+y; x=i+) i=x;Bfor(;x+=i);Cfor (i=10; i-) a+=i;Dwhile (1) a+;;10程序段i=11;do i+; while (i<=10);執(zhí)行后i的值為()A11 12 C. 10 不確定11執(zhí)行語句for (i=1;i+<3;);后變量i的值的是
46、()A3 4 C. 5 不確定12for (x=0,y=0;(y=123)&&(x<4);x+);的循環(huán)執(zhí)行次數(shù)為()A無限次次數(shù)不定 C. 執(zhí)行3次執(zhí)行4次13程序段x=2;do printf(“*”);x-; while (!x=0)的運(yùn)行結(jié)果為()A* * C. *14執(zhí)行語句for (i=4;i->0;);后變量i的值的是()A0 1 C. 2 不確定二、填空題1若for循環(huán)語句用以下形式表示:for (表達(dá)式1;表達(dá)式2;表達(dá)式3) 循環(huán)體語句則執(zhí)行語句:for (i=0;i<4;i+) printf(“*”);時(shí),表達(dá)式1執(zhí)行次,表達(dá)式3執(zhí)行了次。
47、三、 閱讀下列程序,在下劃線上寫出輸出結(jié)果1.設(shè)有程序段 k=1;n=263;do k*=n % 10;n/=10; while (n);其運(yùn)行結(jié)束后k的值為,循環(huán)結(jié)束后n的值是。2寫出以下程序的運(yùn)行結(jié)果。#include <stdio.h>main( ) int y=10;do y-; while (-y);printf(“%d, ”,y-);3.閱讀下列程序,在下劃線上寫出輸出結(jié)果。#include <stdio.h>main( ) int y= -10;do y+; while (+y);printf(“%d, ”,y+); /*輸出結(jié)果: */4以下程序的運(yùn)行結(jié)
48、果是。#include <stdio.h>void main( ) int i; for (i=1;i<=5;i+) switch(i %5)case 0: printf(“*”);break; case 1: printf(“#”);break; default: printf(“,”);case 2: printf(“&”);四、程序填空1下列程序的功能是采用“順序查找法”查找數(shù)組中是否存在元素x。請(qǐng)為程序填空。#include<stdio.h>void main( )int a8= 9, 1, 3, 2, 6, 4, 7, 8; int i, x;scanf (“%d”, );for (i=0; i<=8; i+)if (x=ai) printf(“Found! The Index is: %dn”,-i);if ()printf(“not found!”;第6章 數(shù)組一、選擇題1在C語言中引用數(shù)組元素時(shí),其數(shù)組下標(biāo)的數(shù)據(jù)類型可以是()。A整型常量整型表達(dá)式C整型常量或整型表達(dá)式任何類型的表達(dá)式2. 以下能對(duì)一維數(shù)組a進(jìn)行正確初始化的語句是()。Aint a10=(0,0) int a10= ; Cint a =0; int a10=10*1;3若有說明:int a1
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版委托擔(dān)保合同協(xié)議書及風(fēng)險(xiǎn)控制與執(zhí)行細(xì)則3篇
- 新文科視域下民族歌劇作品的分析和演唱
- 沼氣施工方案
- 2025年度高效節(jié)能大棚建設(shè)與維護(hù)服務(wù)合同4篇
- 二零二五年度出借資產(chǎn)處置與清算服務(wù)協(xié)議4篇
- 二零二五年度某局基礎(chǔ)設(shè)施建設(shè)項(xiàng)目勞務(wù)分包結(jié)算監(jiān)督合同3篇
- 個(gè)人貸款中介服務(wù)標(biāo)準(zhǔn)合同模板(2024年版)版B版
- 北京初二下期末數(shù)學(xué)試卷
- 2025年度高科技車間承包項(xiàng)目合作協(xié)議4篇
- 7《生命最寶貴》第一課時(shí)(說課稿)2023-2024學(xué)年統(tǒng)編版道德與法治三年級(jí)上冊(cè)
- 2024年上海核工程研究設(shè)計(jì)院股份有限公司招聘筆試沖刺題(帶答案解析)
- 眼的解剖結(jié)構(gòu)與生理功能課件
- 2024年銀行考試-興業(yè)銀行筆試參考題庫含答案
- 泵站運(yùn)行管理現(xiàn)狀改善措施
- 2024屆武漢市部分學(xué)校中考一模數(shù)學(xué)試題含解析
- SYT 0447-2014《 埋地鋼制管道環(huán)氧煤瀝青防腐層技術(shù)標(biāo)準(zhǔn)》
- 浙教版七年級(jí)下冊(cè)科學(xué)全冊(cè)課件
- 弧度制及弧度制與角度制的換算
- 瓦楞紙箱計(jì)算公式測量方法
- DB32-T 4004-2021水質(zhì) 17種全氟化合物的測定 高效液相色譜串聯(lián)質(zhì)譜法-(高清現(xiàn)行)
- DB15T 2724-2022 羊糞污收集處理技術(shù)規(guī)范
評(píng)論
0/150
提交評(píng)論