黄色在线观看视频-黄色在线免费看-黄色在线视频免费-黄色在线视频免费看-免费啪啪网-免费啪啪网站

查看全部128種考試
1
2
3
4
5
6
7
8
9
10
admin  
【字體: 最新全國計算機等級考試二級C語言上機考試必讀
最新全國計算機等級考試二級C語言上機考試必讀
djks.exam8.com 來源:中國it實驗室 更新:2005-3-31 16:28:00 計算機等級考試 考試論壇



10.輸入輸出的數據類型與所用格式說明符不一致。
例如,a已定義為整型,b定義為實型
a=3;b=4.5;
printf("%f%d\n",a,b);
編譯時不給出出錯信息,但運行結果將與原意不符。這種錯誤尤其需要注意。

11.輸入數據時,企圖規定精度。
scanf("%7.2f",&a);
這樣做是不合法的,輸入數據時不能規定精度。

12.switch語句中漏寫break語句。
例如:根據考試成績的等級打印出百分制數段。
switch(grade)
{ case 'A':printf("85~100\n");
case 'B':printf("70~84\n");
case 'C':printf("60~69\n");
case 'D':printf("<60\n");
default:printf("error\n");
由于漏寫了break語句,case只起標號的作用,而不起判斷作用。因此,當grade值為A時,printf函數在執行完第一個語句后接著執行第二、三、四、五個printf函數語句。正確寫法應在每個分支后再加上“break;”。例如
case 'A':printf("85~100\n");break;

13..在定義數組時,將定義的“元素個數”誤認為是可使的最大下標值。
main()
{static int a[10]={1,2,3,4,5,6,7,8,9,10};
printf("%d",a[10]);
}
C語言規定:定義時用a[10],表示a數組有10個元素。其下標值由0開始,所以數組元素a[10]是不存在的。

16.在不應加地址運算符&的位置加了地址運算符。
scanf("%s",&str);
C語言編譯系統對數組名的處理是:數組名代表該數組的起始地址,且scanf函數中的輸入項是字符數組名,不必要再加地址符&。應改為:
scanf("%s",str);

1、編一個函數fun(char *s),函數的功能是把字符串中的內容逆置。
例子如:字符串中原有的內容為:abcdefg,則調用該函數后,串中的內容為:gfedcba

fun(char *s)
{ int i=0,t,n=strlen(s);
for(;s+i{t=*(s+i);*(s+i)=*(s+n-1-i);*(s+n-1-i)=t;}}

注:該題的算法是先分別找出字符串的兩頭,然后同時逐一往中間移動,每移動一次
都進行兩字符的位置對換,直到中間字符(用s+i地址,因此要注意把它的內容取出再進行換位。即先進行取內容運算*)

2、請編寫函數fun,對長度為7個字符的字符串,除首、尾字符外,將其余5個字符按降序排列。例如,原來的字符串為CEAedca,排序后輸出為CedcEAa。
int fun(char *s,int num)
{ int i,j,t;
for(i=1;ifor(j=i+1;jif(s[i]{ t=s[i];
s[i]=s[j];
s[j]=t;}}

該題采用的排序法是選擇法進行降序排序,算法是用外for()循環從字符串的前端往后
端走動,每走動一個字符都用內嵌的for()循環在該字符后找出最小的字符與該字符進
行換位。直到外for()循環走到最后一個字符。此外,此題還要注意把首尾字符除開,即
在最外層for()循環中從1開始,只到num-2即可。

3、請編寫一個unsigned fun(unsigned w),w是一個大于10的無符號整數,若w是n(n>=2)位的整數,函數求出w的后n-1位的數作為函數值返回。例如:w值為5923,則函數返回923;w值為923則函數返回23。
unsigned fun( unsigned w )
{ if(w>=10000) return w%10000;
if(w>=1000) return w%1000;
if(w>=100) return w%100;
return w%10;
}

 注:由于unsigned型整數在0-65535這間,只要它大于10000則對10000求余即得出后
面4位,否則如果大于1000則對1000求余得出后3位數,這樣一層一層往小的判斷。由于
return的作用除了返回值以外,還有當執行到return時就跳出該程序,所以可以連續的
用if()語句。

4、請編一函數void fun(int tt[M][N],int pp[N]),tt指向一個M行N列的二維數組,求出二維數組每列中最小元素,并依次放入pp所指一維數組中,二維數組中的數已在主
函數中賦予。
#define M 3
#define N 4
void fun(int tt[M][N],int pp[N])
{ int i, j;
for(i=0;i{ pp=tt[0][i];
for(j=0;jif(tt[j][i]}}

/*注:該題用for(i=0;ij++)用于控制同列內元素的比較。多重循環的嵌套總是最里層循環變化最快,即外層循
環改變一個值,內層循環就要循環完一次,對于多重循環一定要好好去體會和理解,在
多數題目中都要用到多重循環(一般為二重)。*/

5、請編一個函數fun,其中n所指存儲單元中存放了數組中元素的個數。函數的功能是:刪除所有值為y的元素。數組元素中的值和y的值由主函數通過健盤讀入。
試題程序。
#define M 20

void fun (int bb[], int *n,int y)
{ int i,j=0;
for( i=0; i<*n; i++)
if(bb[i]!=y) bb[j++]=bb[i];
*n=j;}

/*注:該題的算法是,用for()循環控制元素逐一判斷數組元素是否等于y,若不等則賦
給新數bb,由于刪除的關系j總是小于或等于i,故而可用bb作為新數組,與第6題相似。
還要注意*n=j;如果沒有這個語句則不能傳回新數組的個數,另外也不能換成n=&j
;這點是用指針時常犯的錯誤,切記!*/

6、 請編寫一個函數int fun(int x),它的功能是:判斷整數x是否是同構數。若是同構數,函數返回1;否則返回0。
所謂“同構數”是指這樣的數,它出現在它的平方數的右邊。例如:輸入整數5,5的平方數是25,5是25中右側的數,所以5是同構數。x的值由主函數從健盤讀入,要求不大于100。

int fun (int x)
{ int xx=x * x;
if(xx==x//xx%10==x//xx%100==x) return 1;
else return 0;}

/*注:由“同構數”的定義可得只要求出平方數或平方數的最后一位或平方數的最后兩
位然后與x進行判斷即可,分別求余后即得出平方數的右邊。*/

7、請編寫函數fun,它的功能是:求出ss所指字符串中、指定字符的個數,并返回此值。例如:若輸入字符串:123412132,輸入字符為:1,則輸出:3。

#define M 81

int fun(char *ss,char c)
{int num=0;
while(*ss!='\0')
{if(*ss==c) num++;
ss++;}
return(num);}

/* 注:本題用while()循環來控制字符的移動,每移動一個字符都要進行判斷(if(*ss
==c))是否為指定的字母,若是則個數加1。這里要注意如何讓ss指針向下走動(ss++)。*/

8、請編寫函數fun,經的功能是:求出1到1000之內能被7或11整除、但不能同時補7和11整除的所有整數并將它們放在a所指的數組中,通過n返回這些數的個數。

void fun(int *a,int *n)
{ int i,m=0;
for(i=1;i<1000;i++)
if(((i%7==0)//(i%11==0))&&!((i%7==0)&&(i%11==0)))
{a[m]=i;m+=1;}
*n=m;
}

 /* 該題關鍵就是如何表示能被7或11整除,但不能同時被7和11整除。用(i%7==
0)//(i%11==0)來表示能被7或11整除,用 !((i%7==0)&&(i%11==0))來表示不能同時被7和11整除。

9、定義了N*N的二維數組,并在主函數中自動賦值。請編寫函數fun(int a[][N]),函數的功能是:使數組第一行元素中的值與最后一行元素中的值對調、第二行元素的值與倒數第二行中的值對調、……、其他依次類推。

#define N 5
fun(int a[][N])
{ int i,m,t;
for(m=0;mfor(i=0;i{t=a[i][m];
a[i][m]=a[N-1-i][m];
a[N-1-i][m]=t;
}}

/* 外層for()循環用于控制一列一列地移動,內嵌的forr()循環用于控制在同一列內對應行元素的對調。a[i][m]為第m列第i行元素,而a[N-1-i][m]為第m列倒數第i行的元素,正好需要對調。*/

10、 要求程序的功能是:把20個隨機數存入一個數組,然后輸出該數組中的最小值。其中確定最小值的下標的操作在fun函數中實現,請給出該函數的定義。
試題程序。
#include
#include
#define VSIZE 20
int vector[VSIZE];
int fun(int list[],int size)
{ int i,j=0;
for(i=1;iif(list[i]j=i;
return j;
}

/*注:該題的算法是用一個變量(j)來存儲最小值元素的下標,在循環過程中讓每個元素都與原最小值元素進行大小比較。

上一頁  [1] [2] 

轉帖于:計算機等級考試_考試吧
文章搜索  
看了本文的網友還看了:
計算機等級考試權威輔導教材: 訂書電話:010-62168566  更多>>>
網友評論
昵 稱: *  評 分: 1分 2分 3分 4分 5分
標題:   匿名發表    (共有條評論)查看全部評論>>
版權聲明 -------------------------------------------------------------------------------------
  如果計算機等級考試網所轉載內容不慎侵犯了您的權益,請與我們聯系,我們將會及時處理。如轉載本計算機等級考試網內容,請注明出處。
關于本站  網站聲明  廣告服務  聯系方式  付款方式  站內導航  客服中心  友情鏈接  考試論壇  網站地圖
Copyright © 2004-2008 考試吧計算機等級考試網 All Rights Reserved    
中國科學院研究生院權威支持(北京) 電 話:010-62168566 傳 真:010-62192699
百度大聯盟黃金認證  十佳網絡教育機構  經營許可證號:京ICP060677
主站蜘蛛池模板: 国产成人综合在线观看 | 国产一区二区三区在线 | 欧美一区二区三区四区在线观看 | 久久久高清日本道免费观看 | 成人免费福利网站在线看 | 久操手机在线视频 | 成人涩涩网站 | 在线中文字幕亚洲 | 一级毛片在线播放免费 | 久草操| 1769国产精品视频免费观看 | 亚洲a在线播放 | 99视频精品全部在线播放 | 亚洲欧美精品久久 | 中国xxxx真实自拍hd | 国产乱插| 久久久全国免费视频 | 久久麻豆亚洲精品 | 一级欧美日韩 | 日本高清中文字幕一区二区三区 | www.色.con| 国产免费一级精品视频 | 国产一区二区久久精品 | 一级特黄aa大片免费 | 亚洲黄网站wwwwww | 五月天婷婷伊人 | 黄色网址免费在线观看 | 欧美精品第二页 | 毛片在线免费播放 | 成人网免费 | 成人影院天天5g天天爽无毒影院 | 一色屋精品亚洲香蕉网站 | 欧美日韩国产一区二区三区伦 | 日本a级特黄三级三级三级 日本a一级片 | 成人gav| 骚片在线观看 | 国产视频你懂的 | 欧美午夜性刺激在线观看免费 | 天天做天天爱夜夜大爽完整 | 人人爽人人爽人人片av | 激情视频网站 |