29.請讀程序:
main( )
{int n[2],i,j,k;
for(i=0;i<2;i++) n[i]=0;
k=2;
for(i=0;i for(j=0;j printf(“%d\n”,n[k]); } 上面程序的輸出結(jié)果是( A )。 A) 不確定的值 B) 3 C) 2 D) 1 30.請讀程序片段(字符串內(nèi)沒有空格字符):printf(“%d\n”,strlen(“ATS\n012\1\\”));其輸出結(jié)果應(yīng)為( C )。 A) 11 B) 10 C) 9 D) 12 31.下述對C語言字符數(shù)組的描述中錯誤的是( C )。 A) 字符數(shù)組可以存放字符串 B) 字符數(shù)組中的字符串可以整體輸入、輸出 C) 可以在賦值語句中通過賦值運算符“=”對字符數(shù)組整體賦值 D) 不可以用關(guān)系運算符對字符數(shù)組中的字符串進行比較 32.閱讀下列程序: main( ) {int n[3],i,j,k; for(i=0;i<3;i++) n[i]=0; k=2; for(i=0;i for(j=0;j n[j]=n[i]+1; printf(“%d\n”,n[1]); } 上述程序運行后,輸出的結(jié)果是( D )。 A) 2B) 1C) 0 D) 3 33.以下程序的輸出結(jié)果是( C )。 main( ) {int n[3][3], i, j; for(i=0;i<3;i++) for(j=0;j<3;j++) n[i][j]=i+j; for(i=0;i<2;i++) for(j=0;j<2;j++) n[i+1][j+1]+=n[i][j]; printf(“%d\n”, n[i][j]); } A) 14 B) 0 C) 6 D) 值不確定 34.以下語句的輸出結(jié)果為( A )。 printf(“%d\n”, strlen(“\t\”\065\xff\n”)); A) 5 B) 14 C) 8 D) 輸出項不合法,無正常輸出 35.合法的數(shù)組定義是( D )。 A) int a[]=”string”; B) int a[5]={0,1,2,3,4,5}; C) char a=”string”; D) char a[]={0,1,2,3,4,5}; 二、填空題 1.下面程序的功能是:將字符數(shù)組a中下標(biāo)值為偶數(shù)的元素從小到大排列,其它元素不變。請?zhí)羁铡?/P>
#include #include main( ) {char a[ ]="clanguage", t; int i, j, k; k=strlen(a); for(i=0; i<=k-2; i+=2) for(j=i+2; j if( a[j]>a[i] ) { t=a[i]; a[i]=a[j]; a[j]=t; } puts(a); printf("\n"); } 2.若有定義語句:char s[100],d[100]; int j=0, i=0;,且s中已賦字符串,請?zhí)羁找詫崿F(xiàn)字符串拷貝。(注:不得使用逗號表達式) while(s[i]){ d[j]= s[i++] ;j++;} d[j]=0; 3.下列程序段的輸出結(jié)果是 Hello 。 main( ) { char b[]="Hello,you"; b[5]=0; printf("%s\n", B); } 4.若想通過以下輸入語句使a中存放字符串1234,b中存放字符5,則輸入數(shù)據(jù)的形式應(yīng)該是 a=1234b=5 。 char a[10], b; scanf(“a=%s b=%c”, a, & B); 5.以下程序可以把從鍵盤上輸入的十進制數(shù)(long型)以二到十六進制數(shù)的形式輸出,請?zhí)羁铡?/P>
main( ) {int b[16]={‘0’, ‘1’, ‘2’, ‘3’, ‘4’, ‘5’, ‘6’, ‘7’, ‘8’, ‘9’, ‘A’, ‘B’, ‘C’,‘D’, ‘E’, ‘F’}; int c[64], d, i=0, base; long n; printf(“Enter a number:\n”); scanf(“%ld”,&n); printf(“Enter new base:\n”); scanf(“%d”,&base); do {c[i]= n%base ; i++; n=n/base; }while(n!=0); printf(“Transmite new base:\n”); for(--i;i>=0;--i) {d=c[i]; printf("%c", [ d] ); } } 6.以下程序用來對從鍵盤上輸入的兩個字符串進行比較,然后輸出兩個字符串中的第一個不相同字符的ASCII碼之差。例如:輸入的兩個字符串分別為abcdefg和abceef,則輸出為-1。請?zhí)羁铡?/P>
main( ) {char str1[100], str2[100], c; int i, s; printf(“\n Input string 1:\n”); gets(str1); printf(“\n Input string 2:\n”); gets(str2); i=0; while((str1[i]= =str2[i])&&(str1[i]!= ' \0 ' )) i++; s= str1[i]-str2[i] ; printf("%d\n", s); } 7.以下語句的輸出結(jié)果是 2 。 printf(“%d\n”,strlen(“\t\”\085\xff\n”)); 8.對數(shù)組中的元素值進行排序: main( ) {int a[]={2,4,15,3,17,5,8,23,9,7,11,13}, i, j, k; for(k=0;k<12;k++) for(i=k;i<12;i++) if(a[i]> a[k] ) {j=a[i]; a[i]= a[k] ; a[k] =j; } for(i=0;i<12;i++) printf(“%4d”, a[i]); } 9.由25人圍坐成圓圈,先從任意一人出發(fā)用1到25順時針依次編號,然后從1號開始順時針報數(shù)(1、2、3、……),凡報5的倍數(shù)者出圈,剩下者繼續(xù)報數(shù),求出最后出圈者的編號。 #include Void main( ) {int a[26], j, n, count; for(j=1;j<=25;j++) a[j]=j; j=1;count=0;n= 0 ; do {if(a[j]!=0) 考試大(www.Examda。com) {n++; if(n%5= =0) { a[j]=0 ; if(count= =24) printf(“%d\n”, j); count++; } } j++; if(j>25) j=1; } while( count<25 ); } 10.閱讀下列程序: main( ) {int i, j, row, column, m; int array[3][3]={{100, 200, 300}, {28, 72, -30}, {-850, 2, 6}}; m=array[0][0]; for(i=0; i<3; i++) for(j=0; j<3; j++) if(array[i][j] {m=array[i][j]; row=i; column=j;} printf("%d, %d, %d\n", m, row,column); } 上述程序的輸出結(jié)果是 -850,2,0 。 11.以下程序的功能是:從鍵盤上輸入若干個學(xué)生的成績,計算出平均成績,并輸出低于平均分的學(xué)生成績,用輸入負(fù)數(shù)結(jié)束輸入。請?zhí)羁铡?/P>
main( ) {float x[1000], sum=0.0, ave, a; int i, n=0; printf(“Enter mark:\n”); scanf(“%f”, &a); while(a>=0.0&&n<1000) {sum+= a ; x[n]= a ; n++; scanf(“%f”, &a);} ave= sum/n ; printf(“Output:\n”); printf(“ave=%f\n”, ave); for(i=0;i if( ave>a[i] ) printf(“%f\n”, x[i]); }
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |