二級c語言機試100改錯,c語言二級考試改錯題

本文目錄一覽:

計算機二級C語言考試總分多少??幾分能過?

計算機二級C語言總分100分,60分合格。

1、C語言:選擇題40分,程序填空題 18分,程序修改題 18分,程序設計題24分;

2、VB、VFP、Java、Access、C++語言:選擇題40分,基本操作題18分,簡單應用題24分,綜合應用題18分。

計算機二級計分模式:

1、報考二級科目考試的新生,全部採用無紙化考試(即全部上機考試),取代傳統的考試模式(筆試加上機)。無紙化考試中,傳統考試的筆試部分被移植到計算機上完成,考核內容和要求不變。

2、無紙化考試時間為120分鐘,滿分100分,總分達到60分可以獲得合格證書。沒有獲得合格證書的考生,無補考,下一次需重新以新考生身份報名參加考試。

以上內容參考 百度百科-計算機二級考試

全國二級C語言考試大題,是不是答案對了就能得滿分?

嗯,是的,判分先根據答案是否正確,如果正確就是滿分,如果不正確才會查看代碼是否有得分點,所以如果你剛剛考完二級,而又運行出來答案了,那麼恭喜你二級過了

計算機二級C語言考試總分多少?多少分能過?

計算機二級C語言考60分才算過。

計算機二級考試實行百分制計分,但以等級分數通知考生成績。等級分數分為「不及格」、「及格」、「優秀」三等,劃線分數為60和90。考試成績在「及格」,即60~89分者,由教育部考試中心發合格證書,考試成績在「優秀」,即90~100分者,由教育部考試中心發優秀證書。

自2018年3月起,NCRE考試以等第形式通知考生成績。成績等第分為「優秀」、「良好」、「及格」、「不及格」四等。100-90分為「優秀」,89-80分為「良好」,79-60分為「及格」,59-0分為「不及格」。

考試成績優秀者,在證書上註明「優秀」字樣;考試成績良好者,在證書上註明「良好」字樣;考試成績及格者,在證書上註明「合格」字樣。

擴展資料

一、報考要求:考生不受年齡、職業、學歷等背景的限制,任何人均可根據自己學習和使用計算機的實際情況報考。每次考試報名的具體時間由各省(自治區、直轄市)級承辦機構規定。考生按照有關規定到就近考點報名。

二、其他報名注意:NCRE 考試一般不安排專門的補報。考生如果錯過報名點的報名時間,可以直接諮詢當地考試院或自考辦報名。

三、報名須知:需帶上身份證以及相關的報名費。考生報考一定要親自到場,不能由任何單位、個人代勞,逐一核實個人信息:姓名、身份證號、照片、報考科目、報考類別(是否補考)等,信息不一致要立刻更改,報名費72元。

參考資料來源:百度百科—計算機二級考試

計算機二級c語言考試 機試 有程序填空題 改錯題 編程題 請問各有幾題?

二級C語言機試考試只有三道題:第一:填空(一般為三個空);第二:改錯題(一般有兩個或三個錯);第三:編程題(一般是給出主程序,讓你自己編子程序)。

上機操作題一般都比較簡單,你買一本上機題庫100道,基本上做完就肯定沒問題,絕對可以過。

計算機二級C語言100套上機填空題和改錯題

南開二級C語言上機100題

1、 改錯題1

下列給定程序的功能是:讀入一個整數(2=k《=10000》,列印它的所有質因子(即所有為素數的因子)。例如,若輸入整數2310,則應輸出2、3、5、7、11。

請改正程序中的錯誤,使程序能得出正確的結果。

注意,不要改多main函數,不得增行或刪行,也不得更改程序的結構!

試題程序:

#include conio.h

#include stdio.h

*******************************

IsPrime(int n); ——————去掉分號

{int i,m;

m=1;

for ( i=2; in; i++)

******************************

if !(n%i) ——————if (!(n%i))

{ m=0; break; }

return (m);

}

main()

{ int j,k;

clrscr();

printf(“nPlease enter an integer number between 2 and 10000:”);scanf(“%d”,k);

printf(“nnThe prime factor(s) of %d is (are):”,k);

for (j=2;j=k;j++)

if ((!(k%j))(IsPrime(j)) printf(“n %4d”,j);

printf(“n”);

)

2、 編程題1

m個人的成績存放在score數組中,請編寫函數fun,它的功能是:將低於平均分的人數作為函數值行會,將低於平均分的分數放在below所指的數組中。

例如,但score數組的數據為10、20、30、40、50、60、70、80、90時,函數返回的人數應該時4,below中的數據應為10、20、30、40。

注意:部分源程序給出如下。

請勿改動主函數main和其他函數中的任何內容僅在函數fun的花括弧中填入所編寫的若干語句。

試題程序:

#include conio.h

#include stdio.h

#include string.h

int fun (int score[],int m, int below[])

{

——————int i,k=0;float aver=0;

for(i=0;im;i++)

aver+=(score[i]);

aver/=m;

for (i=0;im;i++)

if (score[i]aver)

{below[k]=score[i];

k++;

retern(k);}

}

main()

{int i, n, below[9];

int score [9]={10,20,30,40,50,60,70,80,90};

clrscr();

n=fun(score,9,below);

printf(“nBelow the average score are:”);

for (i=0;in;i++) printf (“%d”,below[i]);

}

3、 改錯2

下列給定程序中,函數fun的功能是:逐個比較a、b兩個字元串對應位置中的字元,把ASCII值大或等於的字元一次存放到c數組中,形成一個新的字元串。例如,若a中的字元串為aBCDeFgH,b中的字元串為:ABcd,則c中的字元串為:aBcdeFgh。

請改正程序中的錯誤,使程序能得出正確的結果。

注意,不要改多main函數,不得增行或刪行,也不得更改程序的結構!

試題程序

#include studio.h

#include string.h

****************************************

void; fun(char *p,char *q,char *c)——去分號

***************************************

{int k=1; ——1改為0

***************************************

while(*p!=*q) —— != 改為 ||

***************************************

{if (*p*q) c[k]=*q; ——小於號改為小於等於

else c[k]=*p;

if (*p) p++;

if (*q) q++;

k++;

}

}

main()

{char a[10]=”aBCDeFgh”,b[10]=”ABcd”,c[80]={”};

fun(a,b,c);

printf(“The string a:”); puts(a);

printf(“The string b:”); puts (b);

printf(“The result:”); puts(c);

}

4、 改錯3

下列給定程序中,函數fun的功能是:依次取出字元串中所有數字字元,形成新的字元串,並取代原字元串。

請改正程序中的錯誤,使程序能得出正確的結果。

注意,不要改多main函數,不得增行或刪行,也不得更改程序的結構!

試題程序

#include stdio.h

#include conio.h

void fun (char *s)

{ int i,j;

for (i=0,j=0;s[i]!=’\0′;i++)

****************************************

if (s[i]=’0′ s[i]=’9′)

s[j]=s[i]; ——————j改為j++

***************************************

s[j]=”\0″; ——————s[j]=’\0′

}

main()

{char item[80];

clrscr();

printf(“\nEnter a string:”);gets(item);

printf(“\n\nThe string is :\%s\n”,item);

fun (item);

printf(“\n\nThe string of changing is :\%s\n”,item);

}

5、 改錯4

下列給定程序中,函數fun的功能是:分別銅級字元串中大寫字母和小寫字母的個數。例如,給字元串s輸入:AAaaBBb123CCccccd,則應該輸出結果:upper=6,lower=8。

請改正程序中的錯誤,使程序能得出正確的結果。

注意,不要改多main函數,不得增行或刪行,也不得更改程序的結構!

試題程序

#include conio.h

#include stdio.h

**********************************

void fun (char *s,int a, int b) ————a應為*a,b應為*b

{ while(*s)

{ if (*s=’A’ *s=’Z’)

***********************************

a++; ————(*a)++;

if (*s=’a’ *s=’z’)

************************************

b++; ————(*b)++;

s++;

}

}

main()

{ char s[100];int upper=0,lower=0;

clrscr();

printf(“nPlease a string:”);gets(s);

fun(s,upper, lower);

printf(“n upper=%d lower=%dn”,upper,lower);

}

6、 改錯5

假定整數數列中的數不重複,並存放在數組中。下列給定程序中,函數fun的功能是:刪除數列中值為x的元素。n中存放的是數列中元素的個數。

請改正程序中的錯誤,使程序能得出正確的結果。

注意,不要改多main函數,不得增行或刪行,也不得更改程序的結構!

試題程序

#include stdio.h

#define N 20

fun (int *a,int n, int x)

{int p=0,i;

a[n]=x;

while (x!=a[p])

p=p+1;

if (p==n) return -1;

else

{for (i=p;in;i++)

******************************************

a[i+1]=a[i]; ————a[i]=a[i+1];

return n-1;

}

}

main()

{int w[N]={-3,0,1,5,7,99,10,15,30,90},x,n,i;

n=10;

printf(“The original data:n”);

for (i=0;in;i++) printf(“%5d”,w[i]);

printf(“nInput x (to delete):”);scanf(“%d”,x);

printf(“Delete:%dn”,x);

n=fun(w,n,x);

if (n==-1) printf(“***Nor be found!***nn”);

else

{printf(“The data after deleted:n”);

for (i=0,in;i++) printf(“%5d”,w[i]);printf(“nn”);

}

}

7、 改錯6

下列給定程序中,函數fun的功能是:根據整型形參m的值,計算如下公式的值。t=1-1/2×2-1/3×3-…-1/m×m

例如,若m中的值為5,則應輸出:0.536389。

請改正程序中的錯誤,使程序能得出正確的結果。

注意,不要改多main函數,不得增行或刪行,也不得更改程序的結構!

試題程序:

#include conio.h

#include stdio.h

double fun (int m)

{ double y=1.0;

int i;

***************************************

for (i=2;im;i++) ———— 「」改為「=」

***************************************

y-=1/(i*i); ————「1」改為「1.0」

return(y);

}

main ()

{int n=5;

clrscr();

printf(“\nRhe result is %1f\n”,fun(n));

}

8、 改錯7

下列給定程序中,函數fun的功能是:用選擇法對數組中的n個元素按從小到大的順序進行排序。

請改正程序中的錯誤,使程序能得出正確的結果。

注意,不要改多main函數,不得增行或刪行,也不得更改程序的結構!

試題程序:

#include stdio.h

#define N 20

void fun(int a[],int n)

{ int i,j,t,p;

for (j=0;jn-1;j++)

***************************

{p=j ——加上「;」

for (i=j;i,n;i++) ——j改為j+1

if (a[i]a[p])

*********************************

p=j; ——j改為i

t=a[p];a[p]=a[j];a[j]=t;

}

}

main()

{

int a[N]={9,6,8,3,-1},i,m=5;

printf(“排序前的數據:”);

for (i=0;im;i++) printf(“%d”,a[i]);printf(“\n”);

fun(a,m);

printf(“排序後的數據:”);

for (i=0;im;i++) printf(“%d”,a[i]);printf(“\n”);

}

9、 改錯8(2004.7.27)

下列給定程序中,函數fun的功能是:在字元串str中找出ASCII碼值最大的字元,將其放在第一個位置上;並將該字元前的原字元向後順序移動。例如,調用fun函數之前給字元串輸入:ABCDeFGH,調用後字元串中的內容為eABCDFGH。

請改正程序中的錯誤,使程序能得出正確的結果。

注意,不要改多main函數,不得增行或刪行,也不得更改程序的結構!

試題程序:

#include stdio.h

fun(char *p)

{ char max,*q;int i=0;

max=p[i];

while(p[i]!=0)

{ if(maxp[i])

{max=p[i];

*******************************

p=q+i; ——改為q=p+i;

}

i++;

}

******************************

while(qp) ——qp改為qp

{*q=*(q-1);

q–;

}

p[0]=max;

}

main()

{char str[80];

printf(“Enter a string:”);gets(Str);

printf(“\nThe original string: “);puts(Str);

fun(str);

printf(“\nThe string agter moving:”);puts (str);ptintf(“\n\n”);

}

10、 改錯9(2004.7.27)

下列給定程序中,函數fun的功能是:從n個學生的成績中統計出低於平均分的學生人數,此人數由函數值返回,平均分存放在形參aver所指的存儲單元中。例如,若輸入8名學生的成績:

80.5 60 72 90.5 98 51.5 88 64

則低於平均分的學生人數為4(平均分為:75.5625)。

請改正程序中的錯誤,使程序能得出正確的結果。

注意,不要改多main函數,不得增行或刪行,也不得更改程序的結構!

試題程序:

#include conio.h

#include stdio.h

#define N 20

int fun (float *s,int n,float *aver)

{float ave,t=0.0;

int count=0,k,i;

for (k=0;kn;k++)

*******************************

t=s[k]; ——t+=s[k];

ave=t/n;

for (i=0;in;i++)

if (s[i]ave) count++;

******************************

*aver=ave; ——去掉

return count;

}

main()

{float s[30],aver;

int m,i;

clrscr();

printf(“nPlease enter m:”;scanf(“%d”,m);

printf(“nPlease enter %d mark:n”,m);

for (i=0;im;i++) scanf(“%f”,s+i);

printf(“nThe number of students:%dn”,fun(s,m,aver));

printf(“Ave=%fn”,aver);

)

11、 改錯10(2004.8.1)

下列給定程序中,函數fun的功能是:將s所指字元串中出現的t1所指子串全部替換成t2所指子字元串,所形成的新串放在w所指的數組中。在此處,要求t1和t2所指字元串的長度相同。例如,當s所指字元產中的內容為abcdabfab,t1所指子串中的內容為ab,t2所指子串中的內容為99時,結果,在2

所指的數組中內容應為99cd99f99。

請改正程序中的錯誤,使程序能得出正確的結果。

注意,不要改多main函數,不得增行或刪行,也不得更改程序的結構!

試題程序:

#includeconio.h

#includestdio.h

#includestring.h

int fun (char *s, char *t1,char*t2,char*w)

{

int i; char *p,*r,*a;

strcpy(w,s);

while(*w)

{p=w;r=t1;

********************************************

while(r) ——r改為*r

if(*r==*p) {r++;p++}

else break;

if(*r==”)

{a=w;r=t2;

*******************************************

while(*r){*a=*r;a++;r++} ——改為while(*r){*a=*r;a++;r++;}

w+=strlen(t2);

}

else w++;

}

}

main()

{

char s[100],t1[100],t2[100],w[100];

clrscr();

printf(“nPlease enter string S:”);scanf(“%s”,s);

printf(“nPlease enter string t1:”);scanf(“%s”,t1);

printf(“nPlease enter string t2:”);scanf(“%s”,t2);

if (strlen(t1)==strlen(t2))

{

printf(“nThe result is :%sn”,w);

}

else printf(“Error:strlen(t1)!=strlen(t2)n”);

}

12、 改錯11(2004.8.1)

給定程序MODI1.C中,fun函數的功能是:先從鍵盤上輸入一個3行3列矩陣的各個元素的值,然後輸出主對角線元素之積。

請改正程序中的錯誤,或在橫線處填上適當的內容並把橫線刪除,使它能得出正確的結果。

注意:不要改動main函數,不得增行或刪行,也不得更改程序的結構!

試題程序:

#include stdio.h

int fun ()

{

int a [3] [3], sum;

int i, j;

***********************************

_____; ——sum = 1;

for (i=0;i3;i++)

{ for (j=0;j3;j++)

*****************************************

scanf (〃%d〃 a [i] [j]); ——scanf(“%d”, a[i][j]);

}

for (i=0; i3; i++)

sum=sum*a[i] [i];

printf (〃Sum=%dn〃, sum);

}

main ()

{ fun (); }

13、 改錯12(8.1)

下列程序的功能是:讀入一個整數 k(2≤k≤10000),列印它的所有質因子(即所有為素數的因子)。例如,若輸入整數:2310,則應輸出:2、3、5、7、11。

請改正程序中的語法錯誤,使程序能得出正確的結果。

注意:不要改動main函數,不得增行或刪行,也不得更改程序的結構!

試題程序:

#include 〃conio.h〃

#include 〃stdio.h〃

************************************************

IsPrime ( int n ); ——IsPrime(int n)

{ int i, m;

m = 1;

for ( i = 2; i n/ i++ )

*********************************************

if !( n%i ) ——if(!(n%i))

{ m=0; break ; }

return ( m );

}

main ()

{ int j, k;

clrscr ();

printf (〃nPease enter an integer number between 2 and 10000:〃); scanf ( 〃%d〃,k );

printf ( 〃nn The prime factor (s) of % d is ( are ):〃, k );

for ( j = 2; j = k; j++ )

if ( ( ! k%j ) ) ( IsPrime ( j ) ) } printf ( 〃n % 4d〃, j );

printf (〃n〃);

}

14、 改錯13(8.4)

下列程序中,fun函數的功能是:根據形參m,計算如下公式的值。

t=1+ 1/2 + 1/3 + 1/4 + … + 1/m

例如,若輸入5,則應輸出2.283333。

請改正程序中的語法錯誤,使程序能得出正確的結果。

注意:不要改動main函數,不得增行或刪行,也不得更改程序的結構!

試題程序:

#includeconio.h

#includestdio.h

double fun(int m)

{

double t=1.0;

int i;

for(i=2;i=m;i++)

*******************************************

t+=1.0/k; ——k改為i

*********************************************

____________; ——填return t;

}

main()

{

int m;

clrscr();

printf(「nPlease enter 1 integer number:」);

scanf(「%d」,m);

printf(「nThe result is %1fn」,fun(m));

}

15、 改錯14(8.4)

下列程序中,fun和funx函數的功能是:

用二分法求方程2x×x×x-4x×x+3x-6=0的一個根,並要求絕對誤差不超過0.001。例如,若給m輸入-100,給n輸入90,則函數求得的一個根為2.000。

請改正程序中的語法錯誤,使程序能得出正確的結果。

注意:不要改動main函數,不得增行或刪行,也不得更改程序的結構!

試題程序:

#includestdio.h

#includemath.h

double funx(double x)

{

return(2*x*x*x-4*x*x+3*x-6);

}

double fun(double m, double n)

{

**************************************

int r;——改為double r;

r=(m+n)/2;

**********************************

while(fabs(n-m)0.001) —— “” 改為” = “

{if(funx(r)*funx(n)0 m=r;

else n=r;

r=(m+n)/2;

)

return r;

)

main()

{

double m,n,root;

printf(“Enter m n:n”);scanf(“%1f%1f”,m,n);

root=fun(m,n);

printf(“root=%6.3fn”,root);

}

16、 改錯15(8.5)

下列給定程序中,函數fun的功能是:判斷字元ch是否與str所指串中的某個字元相同;若相同,則什麼也不做,若不同,則將器插在串的最後。

請改正程序中的錯誤,使程序能得出正確的結果。

注意,不要改多main函數,不得增行或刪行,也不得更改程序的結構!

試題程序

#include conio.h

#include stdio.h

#include string.h

**********************************

void fun(char str, char ch)————————1

{ while(*str *str!=ch) str++;

**********************************

if (*str==ch)————————————2

{ str[0]=ch;

*********************************

str[1]=’0′;————————————3

}

}

main()

{char s[81],c;

clrscr();

printf(“nPlease enter a string:n”);gets(s)

printf(“nPlease enter the character to search:”);

c=getchar();

fun(s,c);

printf(“nThe result is %sn”,s);

}

15 題Answer:

1. void fun(char *str, char ch)

2. if (*str==’

17、 改錯16(8.5)

下列給定程序中,函數Creatlink的功能是:創建帶頭結點的單項鏈表,並為各結點數據域賦0到m-1的值。

請改正程序中的錯誤,使程序能得出正確的結果。

注意,不要改多main函數,不得增行或刪行,也不得更改程序的結構!

試題程序

#include conio.h

#include stdio.h

#include stdlib.h

typedef struct aa

{ int data;

struct aa *next;

}NODE;

NODE *Creatlink(int n, int m)

{NODE *h=Null, *p,*s;

int i;

s=(NODE *)malloc(sizeof(NODE));

********************************************

h=p;————————————-1

p-next=NULL;

for (i=1;i=n;i++)

{s=(NODE *)malloc(sizeof(NODE));

********************************************

s-data=rand()%m;———————–2

s-next=p-next;

p-next=s;

p=p-next;

}

********************************************

return p;——————————–3

}

outlink(NODE *h)

{NODE *p;

p=h-next;

printf(“nnTHE LIST:nn HEAD”);

while(p)

{printf(“-%d”,p-data);

p=p-next;

}

printf(“n”);

}

main()

{ NODE *head;

clrscr();

head=Creatlink(8,22);

outlink(head);

}

16 題Answer:

1. h=p=s;

2. s-data=rand()%(m-1);

3. return h;

18、 改錯17(8.5)

下列給定程序中,函數fun的功能是:計算並輸出k以內最大的10個能被13或17整除的自然數之和。k的值由主函數傳入,若k的值為500,則函數值為4622。

請改正程序中的錯誤,使程序能得出正確的結果。

注意,不要改多main函數,不得增行或刪行,也不得更改程序的結構!

試題程序

#include conio.h

#include stdio.h

int fun(int k)

{int m=0, mc=0,j;

while ((k=2)(mc10))

*********************************

{if ((k%13=0)||(k%17=0))——————-1

{m=m+k;mc++;}

k–;

}

return m;

**********************************

_____________——————————-2

main()

{clrscr();

printf(“%dn”,fun(500));

}

17 題Answer:

1. if ((k%13==0)||(k%17==0))

2. }

19、 改錯18(8.5)

下列給定程序中,函數fun的功能是:實現兩個整數的交換。例如給a和b分別輸入60和65,輸出為:a=65 b=60

請改正程序中的錯誤,使程序能得出正確的結果。

注意,不要改多main函數,不得增行或刪行,也不得更改程序的結構!

試題程序

#include conio.h

#include stdio.h

********************************

void fun (int a,b)————————–1

{int t;

*******************************

t=b;b=a;a=t;——————————-2

}

main()

{int a,b;

clrscr();

printf(“Enter a,b:”);scanf(“%d%d”,a,b);

fun(a,b);

printf(“a=%d b=%dn”,a,b);

}

18 題Answer:

1. void fun (int *a,int *b)

2. t=*b;*b=*a;*a=t;

20、 改錯19(8.5)

下列給定程序中,函數fun的功能是:從低位開始取出長整型變數s中偶數位上的數,一次構成一個新數放在t中。例如,當s中的數為7654321時,t是的數為642。

請改正程序中的錯誤,使程序能得出正確的結果。

注意,不要改多main函數,不得增行或刪行,也不得更改程序的結構!

試題程序

#include conio.h

#include stdio.h

********************************

void fun (long s, long t)————————–1

{long sl=10;

s/=10;

*t=s%10;

****************************

while (s0)————————————–2

{s=s/100;

*t=s%10*sl+*t;

sl=sl*10;

}

}

main()

{long s,t;

clrscr();

printf(“nPlease enter s:”);scanf(“%ld”,s);

fun(s,t);

printf(“The result is : %ldn”,t);

}

19 題Answer:

1. void fun (long s, long *t)

2. while (s0)

21、 改錯20(8.5)

N個有序整數數列已放在一堆數組中,下列給定程序中,函數fun的功能是:利用折半查找演算法找整數m再數組中的位置。若找到,則返回其下標值;反之,則返回-1。

折半查找的基本演算法是:每次查找前先確定數組中待查的範圍:low和high(lowhigh),然後把m與中間位置(mid)中元素的值進行比較。如果m的值大於中間位置元素中的值,則下一次的查找範圍放在中間位置之後的元素中;反之,下一次的查找範圍落在中間位置之前的元素中。直到lowhigh,查找結束。

請改正程序中的錯誤,使程序能得出正確的結果。

注意,不要改多main函數,不得增行或刪行,也不得更改程序的結構!

試題程序

#include stdio.h

#define N 10

************************************

void fun(int a[],int m)————————–1

{int low=0,high=N-1,mid;

while(low=high)

{mid=(low+high)/2;

if (ma[mid])

high=mid-1;

***************************************

else if (m=a[mid])—————————-2

low=mid+1;

else return(mid);

}

return(-1);

}

main()

{int i,a[N]={-3,4,7,9,13,45,67,89,100,180},k,m;

printf(“a數組中的數據如下:”);

for(i=0;iN;i++) printf(“%d”,a[i]);

printf(“Enter m:”);scanf(“%d”,m);

k=fun(a,m);

if(k=0) printf(“m=%d,index=%d\n”,m,k);

else printf(“Not be found!\n”);

}

20 題Answer:

1. int fun(int a[],int m)

2. else if (ma[mid])

計算機二級C語言上機改錯題考點總結

對上機考試改錯題的做題方法和總結,改錯題的錯誤主要分為以下幾類:

1、if或while語句

若錯誤行是if或者while語句,則要注意以下點:

1)首先判斷是否正確書寫if或while關鍵字;

2)然後看有沒有用小括弧把整個表達式括起來,若沒有則加上小括弧;

3)若條件表達式中有指針變數而且沒有指針運算符時,則加上指針運算符;

4)若if條件表達式中只有一個等於號即數學等號(=),則要改寫成兩個等於號即邏輯等號(= =);

5) 若if條件表達式為其他的比較運算符,則一般是進行逆轉或加一個等於號;

2、for語句

若錯誤行是for語句,則要注意以下幾點:

1)首先判斷for有沒有書寫正確;

2)然後看for中的表達式是不是用分號(;)隔開,若不是則改為分號。

記住是分號(;),不是逗號(,)!

3) 再者,分析for中的三個表達式,是否符合題意;

第一個表達式表示起始條件,

第二個表達式表示終止條件,

第三個表達式表示循環變數的變化。

3、return語句

若錯誤行為return語句,則要注意以下幾點:

1)首先看是不是正確書寫return關鍵字;

2)然後看是不是缺少分號,若是則加上分號即可;

3)再者判斷return後的變數或表達式是否正確;

這種錯誤需要根據題意來分析,分析返回變數或表達式的值和類型。

4、賦值語句

若錯誤行是賦值語句,則要看賦值是否正確,然後看賦值運算符是否寫正確。

5、定義語句

若錯誤行是定義語句,則要注意:

1)首先分析變數類型名是否寫對;

2)然後分析給變數賦初值是否正確;

3)若以上均不是,則看是不是少定義了某個變數或少了花括弧;

6、表達式錯誤問題:

若錯誤行中有整數1除以某個表達式或變數時,必須把整數1改為1.0;若變數或表達式是整型時,則只能進行強制類型轉換。

7、字元串類問題

若錯誤行中有字元串結束符,則特別要要注意結束符有沒有寫錯。但是要區分清楚字元『o』和數字』0』。

8、指針類問題

若錯誤行中有指針變數,並且該變數名之前沒有指針運算符,則一般都是加上指針運算符;

9、函數首部類問題:

若錯誤行是函數首部,則要注意:

1)首先看該行最後有沒有分號,若有則刪掉分號;若中間有分號則要改為逗號;

2)形參和實參類型不一致問題

①若實參是個地址或數組名或指針變數名,則對應的形參肯定是指針或數組;

②若實參是二維數組名,則對應的形參應該是指針數組或是二維數組;

③若後面用到某形參的時候有指針運算符,則該形參比為指針類型;

④若形參是二維數組或指向M個元素的`指針變數,則該二維的長度必須與main中對於數組的第二維的長度相同。

3)函數類型不一致問題

①若函數中沒有return語句,則函數類型為void;

②若函數中有return語句,則函數的類型必須與rerun後的變數類型一致;

記住,調用函數的類型與main中的該函數的類型一致!

10.語法錯誤問題:

1)語句缺少分號。若錯誤號中語句沒有以分號結束則加上分號;

2)變數名不一致。C語言是區分大小寫的,若錯誤行中有大寫字母一般都改為小寫字母;

11.邏輯錯誤問題:

這種題型主要是表達式錯誤,占的題量比較多而且我們沒有統一的做題方法,需要我們具體問題具體分析。

12.書寫錯誤問題:

特別注意我們的注釋部分,注釋是以/*開始,以*/結尾,不能有多餘的,有也只能在/*和*/裡面。注意,比如「/***注釋部分*****/*/」是錯誤的!

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/280354.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-21 13:03
下一篇 2024-12-21 13:03

相關推薦

  • AES加密解密演算法的C語言實現

    AES(Advanced Encryption Standard)是一種對稱加密演算法,可用於對數據進行加密和解密。在本篇文章中,我們將介紹C語言中如何實現AES演算法,並對實現過程進…

    編程 2025-04-29
  • 學習Python對學習C語言有幫助嗎?

    Python和C語言是兩種非常受歡迎的編程語言,在程序開發中都扮演著非常重要的角色。那麼,學習Python對學習C語言有幫助嗎?答案是肯定的。在本文中,我們將從多個角度探討Pyth…

    編程 2025-04-29
  • Python被稱為膠水語言

    Python作為一種跨平台的解釋性高級語言,最大的特點是被稱為”膠水語言”。 一、簡單易學 Python的語法簡單易學,更加人性化,這使得它成為了初學者的入…

    編程 2025-04-29
  • OpenJudge答案1.6的C語言實現

    本文將從多個方面詳細闡述OpenJudge答案1.6在C語言中的實現方法,幫助初學者更好地學習和理解。 一、需求概述 OpenJudge答案1.6的要求是,輸入兩個整數a和b,輸出…

    編程 2025-04-29
  • Python按位運算符和C語言

    本文將從多個方面詳細闡述Python按位運算符和C語言的相關內容,並給出相應的代碼示例。 一、概述 Python是一種動態的、面向對象的編程語言,其按位運算符是用於按位操作的運算符…

    編程 2025-04-29
  • Python語言由荷蘭人為中心的全能編程開發工程師

    Python語言是一種高級語言,很多編程開發工程師都喜歡使用Python語言進行開發。Python語言的創始人是荷蘭人Guido van Rossum,他在1989年聖誕節期間開始…

    編程 2025-04-28
  • Python語言設計基礎第2版PDF

    Python語言設計基礎第2版PDF是一本介紹Python編程語言的經典教材。本篇文章將從多個方面對該教材進行詳細的闡述和介紹。 一、基礎知識 本教材中介紹了Python編程語言的…

    編程 2025-04-28
  • Python語言實現人名最多數統計

    本文將從幾個方面詳細介紹Python語言實現人名最多數統計的方法和應用。 一、Python實現人名最多數統計的基礎 1、首先,我們需要了解Python語言的一些基礎知識,如列表、字…

    編程 2025-04-28
  • Python作為中心語言,在編程中取代C語言的優勢和挑戰

    Python一直以其簡單易懂的語法和高效的編碼環境而著名。然而,它最近的發展趨勢表明Python的使用範圍已經從腳本語言擴展到了從Web應用到機器學習等廣泛的開發領域。與此同時,C…

    編程 2025-04-28
  • Python基礎語言

    Python作為一種高級編程語言擁有簡潔優雅的語法。在本文中,我們將從多個方面探究Python基礎語言的特點以及使用技巧。 一、數據類型 Python基礎數據類型包括整數、浮點數、…

    編程 2025-04-28

發表回復

登錄後才能評論