亚洲精品中文字幕无乱码_久久亚洲精品无码AV大片_最新国产免费Av网址_国产精品3级片

計算機等級

計算機等級考試上機技巧

時間:2024-10-08 12:57:59 計算機等級 我要投稿
  • 相關(guān)推薦

2017年計算機等級考試上機技巧

  考試,是一種嚴格的知識水平鑒定方法。為了保證結(jié)果的公平,考場必須要求有很強的紀律約束,并且專門設(shè)有主考、監(jiān)考等監(jiān)督考試過程,絕對禁止任何作弊行為,否則將要承擔法律和刑事責(zé)任。下面是關(guān)于計算機等級考試上機技巧,歡迎參考!

2017年計算機等級考試上機技巧

  計算機等級考試二級C語言上機考試

  一、上機改錯題的特點和注意事項

  1.上機改錯的試題中通常包含兩個(或三個)錯誤需要修改。

  2.試題中用"******found******/"來提示在下一行(或下面第二行)有錯。

  3.錯誤的性質(zhì)基本分語法錯和邏輯錯兩種,也有些試題要求把語句添加在下劃線處。

  4.特別要注意的是:只能在出錯的行上進行修改,不要改動程序行的順序,更不要自己另編程序。

  二、上機改錯測試時,建議按以下步驟進行

  1.首先仔細審題,了解試題的要求,看清楚試題給出的輸入和輸出例示,以便檢驗改錯后程序運行的結(jié)果是否正確。

  2.當在Visual C++6.0環(huán)境下調(diào)出源程序后,審視所在函數(shù),根據(jù)題義理解程序所采用的基本算法,做到心里有數(shù)。

  3.先按CTRL+F7對測試程序進行檢查是否有語法錯誤。當編譯提示有語法錯時,可參考編譯提示來查找并改正錯誤。

  4.當不再出現(xiàn)語法錯時,使用F7執(zhí)行,看結(jié)果使用CTRL+F5,按照試題的示例給出的數(shù)據(jù)進行試算,若試算的結(jié)果與給出的輸出結(jié)果相同時,該題就做對了;若試算的結(jié)果與給出的輸出結(jié)果不同,就應(yīng)進一步檢查程序中的邏輯錯誤。

  5.當程序存在邏輯錯誤時,首先應(yīng)當理解題意、讀懂程序的算法,必要時可按步檢查數(shù)據(jù)的流程,以便確定錯誤所在。例如,題目要求數(shù)據(jù)按由小到大排序,而結(jié)果數(shù)據(jù)是按由大到小進行了排序,問題可能出現(xiàn)在條件判斷上。又如,輸出的字符串比預(yù)期的短,就有可能字符串的結(jié)束標志放錯了位置。再如做循環(huán)的時候數(shù)組上限下限錯誤了,基數(shù)是從0開始而不是1開始的。修改程序中的邏輯錯時,要求考生認真讀懂程序代碼。

  6.修改完成,得到正確結(jié)果后,一定不要忘記把修改后的程序存盤。

  三、上機編程題的特點和說明

  1.在二級C程序設(shè)計上機考試中,要求完成一個獨立的函數(shù)的編程。目前教育部考試中心已出版了上機考試習(xí)題集,這些有助于學(xué)習(xí)編程,但考生應(yīng)當在學(xué)習(xí)過程中理解基本的算法,通過實際上機操作積累經(jīng)驗,才能掌握基本的編程能力。

  四、進行編程測試時,建議按以下步驟進行

  1.首先仔細審題,了解試題的要求,記下試題給出的輸入和輸出例示,以便檢驗在完成指定的函數(shù)后程序運行的結(jié)果是否正確。

  2.當在Visual C++6.0環(huán)境下調(diào)出源程序后,應(yīng)對照函數(shù)首部的形參,審視主函數(shù)中調(diào)用函數(shù)時的實參內(nèi)容,以便明確在函數(shù)中需要處理的數(shù)據(jù)對象。

  3.理解試題的要求,審視主函數(shù)中調(diào)用函數(shù)的方式,若在表達式中調(diào)用函數(shù)(如把函數(shù)值賦給某個對象),則要求有函數(shù)值返回,需注意函數(shù)的類型,并在函數(shù)中用return語句返回函數(shù)值;若主函數(shù)中僅用語句形式調(diào)用函數(shù),則需要通過形參間接地返回所得結(jié)果。

  4.選擇適當?shù)乃惴ㄟM行編程,輸入程序語句。不要忘記及時存盤!

  5.編譯程序,直到?jīng)]有語法錯誤。

  6.調(diào)試程序,利用試題中給出的例示數(shù)據(jù)進行輸入(若要求輸入的話),運行程序,用例示的輸出數(shù)據(jù)檢驗輸出結(jié)果,直到結(jié)果相同。

  對一些C編程時常犯的錯誤,特別寫給各位考生以供參考。

  1.書寫標識符時,忽略了大小寫字母的區(qū)別。

  main()

  {

  int a=5;

  printf("%d",A);

  }

  編譯程序把a和A認為是兩個不同的變量名,而顯示出錯信息。C認為大寫字母和小寫字母是兩個不同的字符。習(xí)慣上,符號常量名用大寫,變量名用小寫表示,以增加可讀性。

  2.忽略了變量的類型,進行了不合法的運算。

  main()

  {

  float a,b;

  printf("%d",a%b);

  }

  %是求余運算,得到a/b的整余數(shù)。整型變量a和b可以進行求余運算,而實型變量則不允許進行“求余”運算。

  3.將字符常量與字符串常量混淆。

  char c;

  c="a";

  在這里就混淆了字符常量與字符串常量,字符常量是由一對單引號括起來的單個字符,字符串常量是一對雙引號括起來的字符序列。C規(guī)定以“\”作字符串結(jié)束標志,它是由系統(tǒng)自動加上的,所以字符串

  “a”實際上包含兩個字符:‘a'和‘\',而把它賦給一個字符變量是不行的。

  4.忽略了“=”與“==”的區(qū)別。

  在許多高級語言中,用“=”符號作為關(guān)系運算符“等于”。如在BASIC程序中可以寫

  if (a=3) then …

  但C語言中,“=”是賦值運算符,“==”是關(guān)系運算符。如:

  if (a==3) a=b;

  前者是進行比較,a是否和3相等,后者表示如果a和3相等,把b值賦給a。由于習(xí)慣問題,初學(xué)者往往會犯這樣的錯誤。

  5.忘記加分號。

  分號是C語句中不可缺少的一部分,語句末尾必須有分號。

  a=1

  b=2

  編譯時,編譯程序在“a=1”后面沒發(fā)現(xiàn)分號,就把下一行“b=2”也作為上一行語句的一部分,這就會出現(xiàn)語法錯誤。改錯時,有時在被指出有錯的一行中未發(fā)現(xiàn)錯誤,就需要看一下上一行是否漏掉了分號。

  { z=x y;

  t=z/100;

  printf("%f",t);}

  對于復(fù)合語句來說,最后一個語句中最后的分號不能忽略不寫。

  6.多加分號。

  對于一個復(fù)合語句,如:

  { z=x y;

  t=z/100;

  printf("%f",t);

  };

  復(fù)合語句的花括號后不應(yīng)再加分號,否則將會畫蛇添足。

  又如:

  if (a%3==0);

  I ;

  本是如果3整除a,則I加1。但由于if (a%3==0)后多加了分號,則if語句到此結(jié)束,程序?qū)?zhí)行I 語句,不論3是否整除a,I都將自動加1。

  再如:

  for (I=0;I<5;I );

  {scanf("%d",&x);

  printf("%d",x);}

  本意是先后輸入5個數(shù),每輸入一個數(shù)后再將它輸出。由于for()后多加了一個分號,使循環(huán)體變?yōu)榭照Z句,此時只能輸入一個數(shù)并輸出它。

  7.輸入變量時忘記加地址運算符“&”。

  int a,b;

  scanf("%d%d",a,b);

  這是不合法的。Scanf函數(shù)的作用是:按照a、b在內(nèi)存的地址將a、b的值存進去。“&a”指a在內(nèi)存中的地址。

  8.輸入數(shù)據(jù)的方式與要求不符。

  scanf("%d%d",&a,&b);

  輸入時,不能用逗號作兩個數(shù)據(jù)間的分隔符,如下面輸入不合法:

  3,4

  輸入數(shù)據(jù)時,在兩個數(shù)據(jù)之間以一個或多個空格間隔,也可用回車鍵,跳格鍵tab。

  scanf("%d,%d",&a,&b);

  C規(guī)定:如果在“格式控制”字符串中除了格式說明以外還有其它字符,則在輸入數(shù)據(jù)時應(yīng)輸入與這些字符相同的字符。下面輸入是合法的:

  3,4

  此時不用逗號而用空格或其它字符是不對的。

  3 4 3:4

  又如:

  scanf("a=%d,b=%d",&a,&b);

  輸入應(yīng)如以下形式:

  a=3,b=4

  9.輸入字符的格式與要求不一致。

  在用“%c”格式輸入字符時,“空格字符”和“轉(zhuǎn)義字符”都作為有效字符輸入。

  scanf("%c%c%c",&c1,&c2,&c3);

  如輸入a b c

  字符“a”送給c1,字符“”送給c2,字符“b”送給c3,因為%c只要求讀入一個字符,后面不需要用空格作為兩個字符的間隔。10.輸入輸出的數(shù)據(jù)類型與所用格式說明符不一致。

  例如,a已定義為整型,b定義為實型

  a=3;b=4.5;

  printf("%f%d\n",a,b);

  編譯時不給出出錯信息,但運行結(jié)果將與原意不符。這種錯誤尤其需要注意。

  11.輸入數(shù)據(jù)時,企圖規(guī)定精度。

  scanf("%7.2f",&a);

  這樣做是不合法的,輸入數(shù)據(jù)時不能規(guī)定精度。

  12.switch語句中漏寫break語句。

  例如:根據(jù)考試成績的等級打印出百分制數(shù)段。

  switch(grade)

  { case 'A':printf("85~100\n");

  case 'B':printf("70~84\n");

  case 'C':printf("60~69\n");

  case 'D':printf("<60 ");

  default:printf("error ");

  由于漏寫了break語句,case只起標號的作用,而不起判斷作用。因此,當grade值為A時,printf函數(shù)在執(zhí)行完第一個語句后接著執(zhí)行第二、三、四、五個printf函數(shù)語句。正確寫法應(yīng)在每個分支后再加上“break;”。例如

  case 'A':printf("85~100 ");break;

  13..在定義數(shù)組時,將定義的“元素個數(shù)”誤認為是可使的最大下標值。

  main()

  {static int a[10]={1,2,3,4,5,6,7,8,9,10};

  printf("%d",a[10]);

  }

  C語言規(guī)定:定義時用a[10],表示a數(shù)組有10個元素。其下標值由0開始,所以數(shù)組元素a[10]是不存在的.。

  16.在不應(yīng)加地址運算符&的位置加了地址運算符。

  scanf("%s",&str);

  C語言編譯系統(tǒng)對數(shù)組名的處理是:數(shù)組名代表該數(shù)組的起始地址,且scanf函數(shù)中的輸入項是字符數(shù)組名,不必要再加地址符&。應(yīng)改為:

  scanf("%s",str);

  1、編一個函數(shù)fun(char *s),函數(shù)的功能是把字符串中的內(nèi)容逆置。

  例子如:字符串中原有的內(nèi)容為:abcdefg,則調(diào)用該函數(shù)后,串中的內(nèi)容為: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 地址,因此要注意把它的內(nèi)容取出再進行換位。即先進行取內(nèi)容運算*)

  2、請編寫函數(shù)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 { t=s;

  s=s[j];

  s[j]=t;}}

  該題采用的排序法是選擇法進行降序排序,算法是用外for()循環(huán)從字符串的前端往后

  端走動,每走動一個字符都用內(nèi)嵌的for()循環(huán)在該字符后找出最小的字符與該字符進

  行換位。直到外for()循環(huán)走到最后一個字符。此外,此題還要注意把首尾字符除開,即

  在最外層for()循環(huán)中從1開始,只到num-2即可。

  3、請編寫一個unsigned fun(unsigned w),w是一個大于10的無符號整數(shù),若w是n(n>=2)位的整數(shù),函數(shù)求出w的后n-1位的數(shù)作為函數(shù)值返回。例如:w值為5923,則函數(shù)返回923;w值為923則函數(shù)返回23。

  unsigned fun( unsigned w )

  { if(w>=10000) return w000;

  if(w>=1000) return w00;

  if(w>=100) return w0;

  return w;

  }

  注:由于unsigned型整數(shù)在0-65535這間,只要它大于10000則對10000求余即得出后

  面4位,否則如果大于1000則對1000求余得出后3位數(shù),這樣一層一層往小的判斷。由于

  return的作用除了返回值以外,還有當執(zhí)行到return時就跳出該程序,所以可以連續(xù)的

  用if()語句。

  4、請編一函數(shù)void fun(int tt[M][N],int pp[N]),tt指向一個M行N列的二維數(shù)組,求出二維數(shù)組每列中最小元素,并依次放入pp所指一維數(shù)組中,二維數(shù)組中的數(shù)已在主函數(shù)中賦予。

  #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];

  for(j=0;j if(tt[j] }}

  5、請編一個函數(shù)fun,其中n所指存儲單元中存放了數(shù)組中元素的個數(shù)。函數(shù)的功能是:刪除所有值為y的元素。數(shù)組元素中的值和y的值由主函數(shù)通過健盤讀入。

  試題程序。

  #define M 20

  void fun (int bb[], int *n,int y)

  { int i,j=0;

  for( i=0; i<*n; i )

  if(bb!=y) bb[j ]=bb;

  *n=j;}

  6、 請編寫一個函數(shù)int fun(int x),它的功能是:判斷整數(shù)x是否是同構(gòu)數(shù)。若是同構(gòu)數(shù),函數(shù)返回1;否則返回0。

  所謂“同構(gòu)數(shù)”是指這樣的數(shù),它出現(xiàn)在它的平方數(shù)的右邊。例如:輸入整數(shù)5,5的平方數(shù)是25,5是25中右側(cè)的數(shù),所以5是同構(gòu)數(shù)。x的值由主函數(shù)從健盤讀入,要求不大于100。

  int fun (int x)

  { int xx=x * x;

  if(xx==x//xx==x//xx0==x) return 1;

  else return 0;}

  7、請編寫函數(shù)fun,它的功能是:求出ss所指字符串中、指定字符的個數(shù),并返回此值。例如:若輸入字符串: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);}

  8、請編寫函數(shù)fun,經(jīng)的功能是:求出1到1000之內(nèi)能被7或11整除、但不能同時補7和11整除的所有整數(shù)并將它們放在a所指的數(shù)組中,通過n返回這些數(shù)的個數(shù)。

  void fun(int *a,int *n)

  { int i,m=0;

  for(i=1;i<1000;i )

  if(((i%7==0)//(i==0))&&!((i%7==0)&&(i==0)))

  {a[m]=i;m =1;}

  *n=m;

  }

  10、要求程序的功能是:把20個隨機數(shù)存入一個數(shù)組,然后輸出該數(shù)組中的最小值。其中確定最小值的下標的操作在fun函數(shù)中實現(xiàn),請給出該函數(shù)的定義。

  試題程序。

  #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]

  return j;

  }

  計算機等級考試二級C語言上機答題技巧

  一. 語法錯誤

  丟失分號,或誤寫成逗號

  關(guān)鍵字拼寫錯誤,如小寫變大寫

  語句格式錯誤,如for句中多寫或少寫分號

  表達式聲明錯誤,如少了()

  函數(shù)類型說明錯誤

  函數(shù)形參類型聲明錯誤,如少*號

  運算符,書寫錯誤,如<寫成>

  二. 邏輯錯誤(語義錯誤)

  變量初值錯誤

  循環(huán)次數(shù)不對

  下標越界

  運算類型不匹配

  編程題策略與技巧

  一.認真閱讀試題

  題目所給出的限制條件

  一些術(shù)語解釋

  題目提供的算法

  程序的.執(zhí)行結(jié)果

  二.清晰地理解fun函數(shù)

  函數(shù)的功能

  函數(shù)反回值類型

  參數(shù)傳遞方式

  運行結(jié)果

  三.調(diào)試運行程序

  先調(diào)試程序

  運行程序

  利用好VC++調(diào)試工具

【計算機等級考試上機技巧】相關(guān)文章:

日語能力等級考試技巧07-14

計算機等級二級C筆試上機題庫07-12

全國英語等級考試閱讀技巧10-04

全國英語等級考試的閱讀技巧08-21

全國計算機等級考試10-08

2016年證券從業(yè)上機考試相關(guān)技巧揭秘10-12

全國計算機等級考試級別分析10-28

全國計算機等級考試網(wǎng)08-01

計算機等級考試二級Java語言考試大綱10-04

全國計算機等級考試的復(fù)習(xí)方法07-16