語言程序設(shè)計(jì)作業(yè)2答案_第1頁
語言程序設(shè)計(jì)作業(yè)2答案_第2頁
語言程序設(shè)計(jì)作業(yè)2答案_第3頁
語言程序設(shè)計(jì)作業(yè)2答案_第4頁
語言程序設(shè)計(jì)作業(yè)2答案_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<C語言程序設(shè)計(jì)>第2次作業(yè)答案一、 單項(xiàng)選擇題答案1B2B3D4C5B6B7D8D9B 10C11C12B13A14C 15B16B17D18A19D20B一 單項(xiàng)選擇題1若有以下定義: int a=3, 4, 5, 6, 7, 8, 9, 10, 11, *p=a;則值為5的表達(dá)式是()。A)p+=5, *(p+1)B)p+=1, * +pC)p+=4, *p+D)p+=1, + *p2下面函數(shù)調(diào)用語句含有實(shí)參的個(gè)數(shù)為()fun( ( a, b, c, d ), ( m, n ), (f, g ) );A)1B)3C)4D)23函數(shù)形式正確的是()。A) double myfu

2、n( int x, int y)B) int myfun( int x, y) m=x+y; return m; int m; C)int myfun( int x, int y)D) int myfun( int x, int y) int x, y; double m; int m; m=x+y; return m; m=x+y; return m; 4不正確的字符串賦值或賦初值方式是()。A)char *str; str=”string”;B)char str7=s, t, r, i, n, gC) char str10; str=”string”;D)char str=”string”

3、; str2=”; strcpy(str2, str1);5以下程序的輸出結(jié)果是()。#include <stdio.h>main() char str="SSSWLIA", c; int k; for (k=2; (c=strk)!='0' k+) switch (c) case 'I': +k; break; case 'L': continue; default: putchar(c); continue; putchar('*');A)SSW*B)SW*C)SW*AD)SW6.以下程序的輸出

4、結(jié)果是()。#include <stdio.h>int w=3;fun( int k) if ( k=0) return w; return ( fun(k -1 )*k);main() int w=10; printf("%dn", fun(5)*w);)360B)3600 C)1080D)12007. 以下程序的輸出結(jié)果是()。#include <stdio.h>int w=3;f( int a) int b=0; static int c=3; b+; c+; return ( a+b+c);main() int a=2, i; for (i=

5、0; i<3; i+) printf("%d ", f(a);A)7 7 7B)7 10 13C)7 9 11D)7 8 98以下程序的輸出結(jié)果是()。#include <stdio.h>main() int a=1,2,3,4,5,6, *p; p=a; *(p+3)+=2; printf("%d, %d n ", *p, *(p+3);A)0, 5B)1, 5C)0, 6D)1, 69以下程序的輸出結(jié)果是()。#include <stdio.h>#define PT 5.5#define S(x) PT*x*xmain(

6、) int a=1, b=2; printf("%4.1fn ", S(a+b); A)49.5B)9.5C)12.5D)33.510下面程序段的輸出結(jié)果是()。 #include <stdio.h>#define LETTER 1main() char str20="Language", c; int i=0; while ( c=stri)!='0') i+; # if (LETTER) if (c>='a'&& c<='z') c=c-32; #else if

7、(c>='A'&& c<='Z') c=c+32; #endif printf("%c", c); A)LanguageB)languageC)LANGUAGED)lANGUAGE11若有說明:char *s=“FORTRAN”, “BASIC”,”PASCAL”,”JAVA”,”C”; 則表達(dá)式 *s1>*s3比較的是()。A)字符F和字符PB)字符串BASIC和字符串JAVAC)字符B和字符JD)字符串FORTRAN和字符串PASCAL12如下程序的輸出結(jié)果是()。#include <stdio.h

8、>main() char a20="chinese" ; char *p=a; for (; p<a+7; p+=2) putchar(*p);A)chineseB)cieeC)chineD)cie13. 若有定義: int a23;則對(duì)a數(shù)組的第i行第j列(假設(shè)i,j已正確說明并賦值)元素值的正確引用為()。A)*(*(a+i)+j)B)(a+i)jC)*(a+i+j)D)*(a+i)+j14. 若有以下定義和語句,則對(duì)a數(shù)組元素的正確引用為()。int a23,(*p)3;p=a;A)(p+1)0B)*(*(p+2)+1)C)*(p1+1)D)p1+215.

9、若以下main函數(shù)經(jīng)過編譯、連接后得到的可執(zhí)行文件名為echo.exe,若希望在系統(tǒng)的命令狀態(tài)下輸入某一命令行后得到的輸出是chian tianjin,則命令行的內(nèi)容應(yīng)是()。A)chian tianjinB)echo chian tianjinC)echo D)echochian tianjin chinatianjin16以下對(duì)結(jié)構(gòu)體變量stu中成員age的非法引用是()。struct student int age; int num; stu, *p;p=&stu;A)stu.ageB)student.ageC)p->ageD)(*p).age17已知學(xué)生記錄描述為: st

10、ruct DATE int year; int month; int day;struct student int no; /*學(xué)號(hào)*/ char name10; /*姓名*/ char sex; /*性別*/ struct DATE birth; ;struct student s;設(shè)變量s中的“生日”應(yīng)該是“1984年11月11日”,下列對(duì)“生日”的正確賦值方式是()。A)year=1984;B)birth.year=1984; month=11; birth.month=11; day=11; birth.day=11;C)s.year=1984;D)s.birth.year=1984;

11、 s.month=11; s. birth.month=11; s.day=11; s.birth.day=11;18若有以下定義的語句:union data int i; char c; float f;a;int n;則以下語句正確的是()。A)a.i=5B)a=2,a,1.2C)printf(“%d”,a)D)n=a19. 表達(dá)式a<b|c&d的運(yùn)算順序是()。A),&,<, |B),|,&,<C),&,|,<D),<,&, |20若執(zhí)行fopen函數(shù)時(shí)發(fā)生錯(cuò)誤,則函數(shù)的返回值為()。A)地址值B)0C)1D)EOF二

12、 填空題答案1. &arri, arr+i2.(1)a0=1 a1=2 (2)實(shí)參和形參是值傳遞3.(1)0 (2)64 *(s+j+)=*(s+i);5.(1)i<=7 (2)j=i+76. 1237 EFGHIJKL8n1=1, n2=69(1)long num (2) num!=01012011FO12.(1)FILE *fp(2)fname(3)fp二、 填空題(本大題共11小題,每空2分,共30分)1.int arr20; 則arri的地址可表示為 2.函數(shù)swap(int x, int y)可完成對(duì)x和y值的交換。在運(yùn)行調(diào)用函數(shù)中的如下語句后,a0和a1的值分別為 和

13、 ,原因是swap(a0,a1)只是將形參的值交換,實(shí)參a0和a1并不交換. 。 a0=1; a1=2; swap(a0,a1);3.若有定義 int a 34=1,2, 0, 4,6,78,10; 則初始化后a12得到的初值是 0 ,a21得到的初值是 6 。4函數(shù)delete_string( char s ,char c)將字符串s中所出現(xiàn)的與變量c相同的字符刪除,請(qǐng)?zhí)羁?。delete_string(char *s, char ch) /*定義外部函delete_string*/int i,j; for (i=j=0;*(s+i)!='0'i+)if (*(s+i)!=ch

14、) *(s+(j+) = *(s+i) _ ; *(s+j)='0'5.下面程序段將輸出 computer,請(qǐng)?zhí)羁铡?int i, j=0; char cfor(i=0;j=7,i<8;i+) =”its a computer”; for (i=0; j+=i; ;i+) printf("%c",cj); ; printf(“%c”,cj;)6. 如下程序段的輸出結(jié)果是 123 。 #include <stdio.h>main() char str="1a2b3c" ; int i; for (i=0; stri!=&#

15、39;0'i+) if (stri>='0'&&stri<='9') printf("%c",stri);7如下程序段的輸出結(jié)果是 EFGHIJKL 。#include <stdio.h>main() char str10="ABCD","EFGH","IJKL","MNOP",k; for (k=1; k<3;k+) printf("%sn",strk);8如下程序段的輸出結(jié)果是 n1=1

16、,n2=6 。#include <stdio.h>main() int a=1,2,3,4,5,6, *p,i; p=a; *(p+3)+=2; printf("n1=%d, n2=%dn",*p, *(p+3);9閱讀下面函數(shù)func,其功能是計(jì)算用戶輸入的整數(shù)num的各位數(shù)字之積。填空使程序完整。#include <stdio.h>long func( long num ) long k=1; if (num<0) num=-num; do k*=num%10; num/=10; while ( num!=0 ); return(k);ma

17、in() long n; printf("Please input a number"); scanf("%ld",&n); printf("Result is : %ld", func(n);10以下程序的輸出結(jié)果是 120 。#include <stdio.h>fun(int b, int n) int i, r=1; for (i=0; i<=n; i+) r=r*bi; return(r);main() int x, a=2,3,4,5,6,7,8,9; x=fun(a,3); printf(&quo

18、t;%dn",x);11下面程序段的輸出結(jié)果是 FO 。#include <stdio.h>main() char *p="LOOK", "OUT","A","FM" int i; for (i=3; i>=0; i-, i-) printf("%c",*pi);12.建立一個(gè)磁盤文件,文件名和內(nèi)容由鍵盤輸入。#include <stdio.h>#include <stdlib.h>void main () char ch, fname20;

19、_ FILE *fp;_; scanf("%s",fname); if (fp=fopen(_fname_,"w")=NULL) exit(0); ch=getchar(); while (ch!='*') fputc(ch,fp); putchar(ch); ch=getchar(); fclose(_fp_);三、 程序設(shè)計(jì)題1定義一個(gè)含有30個(gè)整型元素的數(shù)組,按順序分別賦予從2開始的偶數(shù),然后按順序每5個(gè)數(shù)求出一個(gè)平均值,放在另一個(gè)數(shù)組中并輸出。2從鍵盤輸入一個(gè)字符串和一個(gè)字符,把此字符串中偶數(shù)位的字符變?yōu)檩斎氲淖址?,要求用函?shù)實(shí)現(xiàn)

20、字符串偶數(shù)位字符的改變,在主函數(shù)中輸入字符串和字符,并輸出偶數(shù)位改變的字符串。3編程將一個(gè)輸入的字符串逆序顯示輸出。在主函數(shù)中輸入字符串并輸出逆序存放的字符串,在函數(shù)中實(shí)現(xiàn)字符串的逆序存放。例如:輸入“abcdef”, 輸出”fedcba”(此題是書上p202頁的8.5題)4用遞歸方法求n階勒讓德多項(xiàng)式的值,遞歸公式為:(此題是書上p202頁的8.13題)5. 從鍵盤輸入4個(gè)學(xué)生的有關(guān)數(shù)據(jù),然后把它們轉(zhuǎn)存到磁盤文件上去。1 #include <stdio.h>void main() int a31; float b6; int i,k=1; while (k<31) ak=2

21、*k; k+; k=1; i=1; while (i<=5) bi=(ak+ak+1+ak+2+ak+3+ak+4)/5; k=k+5;i+; for (i=1; i<=5; i+) printf("%fn",bi);2 #include <stdio.h>#include <string.h>#define MAX 80void convert( char s, char ch) int i=0; while (si!='0') if (i%2=0) si=ch; i+; void main() char sMAX, c

22、h; gets(s); scanf("%c",&ch); convert(s,ch); puts(s);3#include <stdio.h>#include <string.h>void inv(char *x, int n ) char *p, m,temp, *i, *j; m=(n-1)/2; i=x; j=x+n-1; p=x+m; for (; i<p; i+, j-) temp= *i; *i=*j; *j=temp;void main() char str80; gets(str); inv(str, strlen(str); puts(str);4 #include <stdio.h>void main() int x,n; float p(int,int); printf("ninput n & x:"); sc

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論