版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、一、單項選擇1設(shè)有定義double a10,*s=a;,以下能代表數(shù)組元素a3的是( B )。A)(*s)3B)*(s+3)C)*s3D)*s+32設(shè)有定義:int n1=0,n2,*p=&n2,*q=&n1;,以下賦值語句中與n2=n1;語句等價的是( A )。A)*p=*qB)p=qC)*p=&n1;D)p=*q3若有定義:int x=0,*p=&x;,則語句printf("%dn",*p);的輸出結(jié)果是( B )。A)隨機(jī)值B)0C)x的地址D)p的地址4下述程序的輸出結(jié)果是( B )。 void main()int a10=1,2,3
2、,4,5,6,7,8,9,10,*p=&a3,*q=p+2; printf("%dn",*p+*q);A)16B)10C)8D)65下面程序段的運行結(jié)果是( B )。char str="ABC",*p=str;printf("%dn",*(p+3);A)67B)0C)隨機(jī)值D)'0'二、閱讀程序?qū)懡Y(jié)果1#include<stdio.h>void main()int a=2,4,6,8,10;int y=1,x,*p;p=&a1;for(x=0;x<3;x+)y+=*(p+x);prin
3、tf("%dn",y);答案: 192#include<stdio.h>void main()char *s="121"int k=0,a=0,b=0;dok+;if (k%2=0)a=a+sk-'0'continue;b=b+sk-'0' a=a+sk-'0'while (sk+1);printf("k=%d a=%d b=%dn",k,a,b);答案:k=2 a=4 b=33#include<stdio.h>int b=2;int func(int *a) b
4、+=*a; return(b); void main()int a=2,res=2;res+=func(&b);printf("%dn",res);答案:64#include<stdio.h>int sub(int *s);void main() int i,k; for(i=0;i<4;i+) k=sub(&i); printf("%2d",k); printf("n");int sub(int *s)static int t=0; t=*s+t; return t; 答案: 0 1 3 6三、程序
5、填空1以下程序先輸入數(shù)據(jù)給數(shù)組a賦值,然后按照從a0到a4的順序輸出各元素的值,最后再按照從a4到a0的順序輸出各元素的值。請?zhí)羁铡?include<stdio.h>void main()int a5; int i,*p; p=a; for(i=0;i<5;i+) scanf("d",p+); (1) for(i=0;i<5;i+,p+) printf("%d",*p); printf("n"); (2) for(i=4;i>=0;i-,p-) printf("%d",*p); pri
6、ntf("n"); 答案:(1) p=a;(2) p=a+4;或p-2以下程序的功能是:將無符號八進(jìn)制數(shù)字構(gòu)成的字符串轉(zhuǎn)換為十進(jìn)制整數(shù)。例如, 輸入的字符串為:556,則輸出十進(jìn)制數(shù) 366。請?zhí)羁铡?include "stdio.h"void main() char *p,s6; int n; (1) gets(p); n=*p-'0' while(_(2)_!='0') n=n*8+*p-'0' printf("%dn",n); 答案:(1) p=s;(2) +p3以下程序調(diào)用fin
7、dmax函數(shù)求數(shù)組中最大的元素在數(shù)組中的下標(biāo),請?zhí)羁铡?#include<stdio.h>void findmax(int *s, int n, int *k)int p; for(p=0,*k=p;p<n;p+) if(sp>s*k) (1) ; void main()int a10,i,k; for(i=0;i<10;i+) scanf("%d",&ai); (2) ; printf("%d,%dn",k,ak);答案:(1) *k=p(2) findmax(a,10,&k)4下面程序的功能是將字符串 b
8、復(fù)制到字符串 a中,請?zhí)羁铡?include<stdio.h>void s(char *s,char *t) while( (1) ) (2) ; *s=0; void main() char a20,b10; scanf("%s",b); s( (3) ); puts(a); 答案:(1) *t!='0'或*t(2) *(s+)=*(t+)或*s+=*t+(3) a,b5下面程序是將p指向的常字符串中大寫字母取出依次放到b數(shù)組中,小寫字母取出依次放在a數(shù)組中。請?zhí)羁铡?include<stdio.h>void main() char
9、 a80,b80,*p="lYoOvUe" int i=0,j=0; while( (1) ) if(*p>='a'&&*p<='z') (2) ; else bj+=*p; p+; (3) ; puts(a);puts(b); 答案:(1)*p!='0'或*p(2)ai+=*p(3)ai='0'bj='0'或ai=bj='0'四、程序問答1#include <stdio.h>#include <string.h>vo
10、id main() char b18="abcdefg",b28,*pb=b1+3;while (-pb>=b1) strcpy(b2,pb);printf("%dn",strlen(b2);問題1:該程序運行結(jié)果如何?問題2:當(dāng)while循環(huán)結(jié)束時,pb指向了哪里?答案:(1) 7(2) 首地址2#include <stdio.h>void swap(int *pt1,int *pt2)int temp; temp=*pt1; *pt1=*pt2; *pt2=temp;void ex
11、change(int *q1,int *q2,int *q3)if(*q1<*q2) swap(q1,q2); if(*q1<*q3) swap(q1,q3); if(*q2<*q3) swap(q2,q3); void main()int a,b,c; scanf("%d%d%d",&a,&b,&c); exchange(&a,&b,&c); printf("%d,%d,%dn",a,b,c);問題1:程序運行時若輸入了12 9 6,會輸出什么結(jié)果?問題2:程序的功能是什么?問題3:若把
12、swap函數(shù)體中的所有*pt1改為pt1,*pt2改為pt2,結(jié)果會如何?請分析原因。答案:(1) 12,9,6(2) 從大到小排序(降序排列)(3) 結(jié)果仍是12,9,6,但此處輸出結(jié)果不是排序后的結(jié)果,輸出的是輸入順序 的數(shù)字。3#include <stdio.h>void fun1(char *s,char *c)char *p,*q; for(p=s;*p!='0'p+) if(*p=*c) for(q=p;*q!='0'q+) *q=*(q+1); p-; void main()char str20="attactet"
13、,c1='t' fun1(str,&c1); puts(str);問題1:程序運行結(jié)果?問題2:函數(shù)fun1的功能是什么?問題3:如果將函數(shù)fun1中的語句p-;去掉,程序結(jié)果又怎樣?分析該語句的作用。答案:(1) aace(2) 把字符數(shù)組中的t刪除掉(3) atace五、程序改錯1輸入5個字符串,輸出其中最大的字符串。#include <stdio.h>void main()int i; char str80,max80; *found* scanf("%s",&str);*found*max=str; for(i=1;i&l
14、t;5;i+) scanf("%s",str);*found*if(max<str)*found* max=str; printf("max is %sn",max);答案:(1)scanf("%s",str);(2)strcpy(max,str);(3)strcmp(max,str);(4)strcpy(max,str);2下面程序?qū)⒔o定字符串循環(huán)左移1位,首字符移動到字符串的末尾。如輸入"abcde",輸出結(jié)果為bcdea 。#include <stdio.h>void move1(char
15、*s)char *p,t;p=s+1;*found*t=s;while(*p)*found*p=*(p-1);p+;*found*p=t;void main()char *p,str10="abcde" move1(str); printf("%sn",str);答案:(1)t=*s;(2)*(p-1)=*p;(3)*(p-1)=t;3以下程序用來刪除字符串s中所有空格字符,如輸入"this is a test!",輸出結(jié)果為:thisisatest!#include <stdio.h>void main()char s8
16、0,*p,*q; *found* scanf("%s",s); for(p=q=s;*p!='0'p+) if(*p!=' ') *found*q=p; q+;*found* *(q-1)='0' puts(s);答案:(1)*p=*q;(2)*q='0'六、編程以下程序均要求使用指針來實現(xiàn)。1 編程判斷輸入的一串字符是否為“回文”,是則輸出Yes,否則輸出No。所謂“回文”,是指正讀和倒讀都一樣的字符串。如"ratar"就是回文。#include <stdio.h>#inclu
17、de <string.h>void main() char str100,*p,*q; int flag=1; scanf("%s",str); p=str; q=str+(strlen(str)-1); while(p<q)if(*(p+)!=*(q-)flag=0; break;if(flag=1) printf("Yesn");else printf("Non");2strcat函數(shù)用來連接兩個字符串,如: char s120="holiday ",s210="economy&qu
18、ot; 則strcat(s1,s2); 可以將s2中的字符串連接到s1字符串的后面。此時s1中的字符串變?yōu)?quot;holiday economy"。請自行編寫函數(shù)mystrcat,完成上述功能。#include <stdio.h>#include<string.h>void mystrcat(char *p,char *q) while (*p) p+; while (*q) *p+=*q+; *p='0'void main() char s120,s220; char *p=s1,*q=s2;gets(s1);gets(s2); myst
19、rcat(p,q); printf("%sn",s1); 2 有5個候選人參與選舉,共100張選票,每張選票上只能推選一個人。編程統(tǒng)計每個候選人的得票數(shù),并輸出結(jié)果。#include <stdio.h>#include <string.h> void main() char * name5="zhang","wang","li","zhao","liu" char note10; int j; int count1=0,count2=0,count3=
20、0,count4=0,count5=0; for(j=0;j<10;j+) scanf("%s",note); if(!strcmp(name0,note) ) count1+; if(!strcmp(name1,note) ) count2+; if(!strcmp(name2,note) ) count3+; if(!strcmp(name3,note) ) count4+; if(!strcmp(name4,note) ) count5+; printf(" Wu Ge Ren De De Piao Fen Bie Wei: n"); printf("%d, %d, %d, %d, %d",count1, count2, count3, count4, count5);3 統(tǒng)計一段英文短文中出現(xiàn)的單詞的個數(shù)。單詞間以空格分隔,可以有多個空格。#include <stdio.h>#include <string.h>void main() char a39 ; char *p=a; int c
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 直筒模具設(shè)計課程設(shè)計
- 說明文課程設(shè)計
- 課程設(shè)計宿舍供電
- 課程設(shè)計壓縮包
- 2025年度科技園區(qū)物業(yè)房屋租賃管理服務(wù)協(xié)議3篇
- 2025年小學(xué)班主任班級工作總結(jié)范文(2篇)
- 2025年事業(yè)單位年檢工作年終總結(jié)模版(2篇)
- 通信原理課程設(shè)計實驗
- 二零二五年度數(shù)據(jù)中心電力需求響應(yīng)服務(wù)合同2篇
- 二零二五年度建筑垃圾資源化處理質(zhì)量合同3篇
- 個人房屋租賃合同電子版下載(標(biāo)準(zhǔn)版)
- 福建省泉州市2019-2020學(xué)年高二上學(xué)期期末物理試卷(含答案)
- 高中生物學(xué)科思維導(dǎo)圖(人教版必修二)
- 監(jiān)理日志表(標(biāo)準(zhǔn)模版)
- 視頻監(jiān)控系統(tǒng)PPT幻燈片課件(PPT 168頁)
- GM∕T 0045-2016 金融數(shù)據(jù)密碼機(jī)技術(shù)規(guī)范
- 人力資源部年度工作計劃表(超級詳細(xì)版)
- 《輪機(jī)英語》試題(二三管輪)
- 部編版二年級語文下冊《蜘蛛開店》
- 北師大二年級數(shù)學(xué)上教學(xué)反思
- 200m3╱h凈化水處理站設(shè)計方案
評論
0/150
提交評論