c語言進階試題,c語言基礎筆試題及答案

本文目錄一覽:

有關C語言試題

你看這行嗎? C語言試題(10)選擇題(50×2=100)1.以下敘述正確的是( )。A)在C程序中,main函數必須位於程序的最前面B)C程序的每行中只能寫一條語句C)C語言本身沒有輸入輸出語句D)在對一個C程序進行編譯的過程中,可發現注釋中的拼寫錯誤2.C語言規定:在一個源程序中,main函數的位置( )。A)必須在最開始 B)必須在系統調用的庫函數的後面C)可以任意 D)必須在最後3.在C語言中(以16位PC機為例),5種基本數據類型的存儲空間長度的排列順序為( )。A)charint 1ong int=floatdoubleB)char=int1ong int=floatdoubleC)char int 1ong int=float=doubleD)char=int =1ong int=floatdouble4.假設所有變量均為整型,則表達式(a=2,b=5,b++,a+b)的值是( )。 A)7 B)8 C)6 D)25.下面四個選項中,均是C語言關鍵字的選項是( )。A)auto B)switch C)signed D)if enum typedef union struct include continue scanf type6.C語言中的標識符只能由字母、數字和下劃線三種字符組成,且第一個字符( )。 A)必須為字母 B)必須為下劃線 C)必須為字母或下劃線 D)可以是字母,數字和下劃線中任一種字符7.下面四個選項中,均是不合法的轉義字符的選項是( )。 A)’\” B)’\1011′ C)’\011′ D)’\abc’ ‘\\’ ‘\’ ‘\f’ ‘\101’8.若有代數式3ae/bc,則不正確的C語言表達式是( )。 A) a/b/c*e*3 B)3*a*e/b/c C)3*a*e/b*c D)a*e/c/b*39.已知各變量的類型說明如下: int i=8,k,a,b; unsigned long w=5; double x=1.42,y=5.2;則以下符合C語言語法的表達式是( )。A) a+=a-=(b= 4)*(a=3) B)a=a*3=2C) x%(-3) D)y=f1oat(i)10.以下正確的敘述是( )。A)在C程序中,每行中只能寫一條語句B)若a是實型變量,C程序中允許賦值a=10,因此實型變量中允許存放整型數C)在C程序中,無論是整數還是實數,都能被準確無誤地表示D)在C程序中,%是只能用於整數運算的運算符11.已知字母A的ASCII碼為十進制數65,且c2為字符型,則執行語句c2=’A’+’6’-‘3′;後,c2中的值為( )。A)D B)68 C)不確定的值 D)C12.若以下變量均是整型,且num=sum=7;則執行表達式sum=num++,sum++,++num後sum的值為( )。 A) 7 B) 8 C) 9 D) 1013.若有說明語句:char c=’\72’則變量c( )。A)包含1個字符 B)包含2個字符C)包含3個字符 D)說明不合法,c的值不確定14.下面四個選項中,均是非法常量的選項是( )。A)’as’ B)’\\’ c)-0xl8 D)0xabc -0fff ‘\01’ 01177 ‘\0’ ‘\0xa’ 12,456 0xf “a”15.設變量n為f1oat類型,m為int類型,則以下能實現將n中的數值保留小數點後兩位,第三位進行四舍五人運算的表達式是( )。A) n=(n*100+0.5)/100.0 B)m=n*100+0.5 ,n= m/100.0C) n=n*100+0.5/100.0 D)n=(n/100+0.5)*100.016.設C語言中,一個int型數據在內存中佔2個字節,則unsigned int型數據的取值範圍為( )。A) 0~255 B) 0~32767 C) 0~65535 D) 0~214748364717.若有以下定義,則能使值為3的表達式是( )。int k= 7,x =12;A) x%=(k%= 5) B) x%=(k一k%5)C) x%=k- k%5 D) (x%=k)一(k%=5)18.putchar函數可以向終端輸出一個( )。A)整型變量表達式值B)實型變量值C)字符串D)字符或字符型變量值19.printf函數中用到格式符%5s ,其中數字5表示輸出的字符串佔用5列。如果字符串長度小於5,則輸出按方式( )。A)從左起輸出該字串,右補空格B)按原字符長從左向右全部輸出C)右對齊輸出該字串,左補空格D)輸出錯誤信息20.若x ,y均定義為int型,z定義為double型,以下不合法的scanf函數調用語句是( )。A) scanf(” %d%lx,%le”,x,y,z);B) scanf(“%2d * %d%lf”x,y,z ); C) scanf(“%x %* d%o”,x,y);D) scanf(“%x%o%6.2f”,x,y,z); 21.已有定義int x; f1oat y;且執行scanf(“%3d%f”,x,y);語句,若從第一列開始輸入數據12345 678(回車),則x 的值為( )。A)12345 B)123 C) 45 D) 345 22.已有如下定義和輸入語句,若要求a1,a2,c1,c2的值分別為10,20,A,B,當從第一列開始輸入數據時,正確的數據輸入方式是( )。int a1,a2; char c1,c2;scanf(“%d%d”,a1,a2);scanf(“%c%c”,c1,c2); A) 1020ABCR B)10 20CRABCR C)10 20 ABCR D)10 20ABCR23.以下能正確地定義整型變量a,b和c 並為其賦初值5的語句是( )。 A)int a=b= c= 5; B) int a,b, c= 5; C)a= 5,b=5,c=5; D) a= b= c=5;24.已知ch是字符型變量,下面正確的賦值語句是( )。A) ch= ‘123’; B) ch= ‘\xff’; C) ch= ‘\08′; D) ch=”\”;25.設x 、y均為f1oat型變量,則以下不合法的賦值語句是( )。A)++x; B)y=(x%2)/10; C) x*=y+8; D)x=y=0;26.邏輯運算符兩側運算對象的數據類型( )。 A)只能是0或1 B)只能是0或非0正數 C)只能是整型或字符型數據 D)可以是任何類型的數據27.下列運算符中優先級最高的是( )。 A) B)十 C) D)!=28.設x,y 和z是int型變量,且x = 3,y= 4,z= 5,則下面表達式中值為0的是( )。 A)’y”y’ B)x =y C) x||y+zy-z D) !(xy)!z||1)29.判斷char型變量c1是否為小寫字母 正確表達式為( )。 A)’ a’ =cl=’ z’ B) (cl = a)(cl=z) C)(‘ a’ =cl)||(‘ z’ = cl) D)(c1=’a’)(cl=’z’)30.執行以下語句後a的值為( )。int a,b,c;a= b= c= 1;++a||++b++c A)錯誤 B) 0 C) 2 D) 131.以下符合c語言語法的賦值表達式是( )。A)d=9+e+f=d+9 B)J=9+e,f=d+9C)d=9+e,e++,d+9 D)d=9+e++=d+732.若有代數式3ae/bc,則不正確的c語言表達式是( )。A)a/b/c*e*3 B)3*a*e/b/cC)3*a*e/b*c D)a*e/c/b*e33.已知各變量的類型說明如下int k,a,b; unsigned long w=5double x=1.422;則以下不符合c語言語法的表達式是( )。A)x%(-3) B)w+=-2C)k=(a=2,b=3,a+b) D)a+=a-=(b=4)x(a=3)34.已知字母A的ASCII碼為+進制數65,且c2為字符型,則執行語句c2=’A’+’6′-‘3′;後,c2中的值為( )。A)D B) 68C)不確定的值 D)C35.若有以下定義:int a,b ;float x;,則正確的賦值語句是( )。A)a=1,b=2, B)b++;C)a=b=5 D)b=int(x)36.c語言中的標識符只能由字母、數字和下劃線三種字符組成,且第一個字符( )。A)必須為字母B)必須為下劃線C)必須為字母或下劃線D)可以是字母、數字和下劃線中任-種字符37.在c語言中,char型數據在內存中的存儲形式是( )。A)補碼 B)反碼 C)原碼 D)ASCII碼38.若有說明語句:char c=’72’;則變量c( )。A)包含1個字符 B)2個字符C)包含3個字符 D)說明不合法,c的值不確定39.己知各變量的類型說明如下:int i=8,k,a,b;unsigned long w=55double x=1.42,y=5.2則以下符合c語言語法的表達式是( )。A)+=a-=(b=4)*(a=3) B)a=a*3=2C)x%(-3) D)y=float(i)40.若以下變量均是整型,且num=sum=7;則執行表達式sum=num++, sum++,++num後sum的值為( )。A)7 B)8 C)9 D)1041.若有定義:int a=7;folat x=2.5,y=4.7;則表達式x+a%3*(int)(x+y)%2/4的值是( )。A)2.500000 B)2.750000 C)3.500000 D)0.00000042.設有說明:char w;int x,float y;double z; 則表達式w*x+z-y值的數據類型為( )。A)float B)char C) int D)double43.設變量n為float類型,m為int 類型,則以下能實現將n中的數值保留小數點後兩位,第三位進行四捨五入運算的表達式是( )。A)n=(n*100+0.5)/100.0 B)m=n*100+0.5,n=m/100.0C)n=n*100+0.5/100.0 D)n=(n/100+0.5)*100.044.以下關於運算符優先順序的描述中正確的是( )。A)關係運算符<算術運算符<賦值運算符<邏輯與運算符B)邏輯與運算符<關係運算符<算術運算符<賦值運算符C)賦值運算符<遲輯與運算符<關係運算符<算術運算符D)算術運算符<關係運算符<賦值運算符<邏輯與運算符45.判斷char型變量ch是否為大寫字母的正確表達式是( )。A) ‘A’=ch=’Z’ B)(ch=’A’)(ch=’Z’)C)(ch=’A’)(ch+’Z’) D)(‘A’=ch)AND(‘Z’=ch46.下列運算符中優先級最高的是( )。A) B)+ C) D)!=47.執行以下語句後a的值為( )。int a=5,b=6,w=1,x=2,y=3,z=4;(a=wx)(b=yz);A)5 B)0 C)2 D)148.已知 x=43,ch=’A’,y=0;則表達式(x=ych’B’!y)的值是( )。A)0 B)語法錯 C)1 D) “假”49.設x、y和s是int型變量,且x=3,y=4,z=5,則下面表達式中值為0的是( )。A)’x”y’B)x=yC)x||y+zy-zD)!((xy)!z50.以下不正確的if語句形式是( )。A) if(xyx!=y)B)if(x==y)x+=y;C)if(x!=y) scanf(“%d”,x) else scanf(“%d”,y);D) if(xy){x++;y++;}

C語言程序設計試題

1.代碼文件 :包含指令不僅僅限於.h頭文件,可以包含任何編譯器能識別的C/C++代碼文件,包括.c,.hpp,.cpp,.hxx,.cxx等,甚至.txt,.abc等等都可以.

2. 賦值

3. x++

4. p[4] 因為sizeof(int) 的值為4,實際上是定義了一個整形數組

5. if

6. DataType

7. 實參變量

8. weirong18

9. float

10. 33 因為++運算符優先級高於* ,故先計算++y,然後將y的值與3相乘得到33

11. (1) ch=’a’ ch=’z’

(2) (x==0 || x==1) (y=1.0 y=6.0)

12. (1) int array[10] = {9,4,7,49,32,-5};

(2)0 到 9

(3)scanf(“%d”,array[1]);

(4)array[0] = 39;

(5)array[0] = array[5]+array[3];

C語言程序設計進階試題

1. a=3,b=2,c=2. 解釋: 因為條件為假,if 語句沒有執行,即a=b 沒有執行。 後面執行語句之後的結果顯然的。

2.k=900。 解釋: 在語法當中規定,k*=i+j 等價於 k = k*(i+j), 而不等於 k = k*i + j 。 計算的 k = 30*(10+20)= 900 . 這個也是考試的考點哦。

3.非零表示邏輯“真”,零表示邏輯“假”。 這個沒什麼是鐵規定吧。

4.a=60。 這個與第二題是一樣的,考的是同樣一個問題。

5.輸出為3。 解釋: C語言中規定整數出整數時候,餘數忽略,取整數部分。即 1/2 =0 。4/3 =1。 當然這是在兩個變量都定義為int 類型的情況下。 如果一個定義為float 或 double 情況就不一樣了,跟普通數學計算一樣。

6. (x=y)(y=z) 解釋: 兩個條件同時成立是表達式為真。 即x=y 同時 y=z 才能成立。

7.

8. 如下:

初始值;

while (條件){

循環體;

循環變量;

};

C語言 指針進階問題;

你的程序里有幾個問題:

1.編程思路和要求的偏差,要求里說明限制字符串的數量不超過10,但對字符串的長度沒有限定,在你的程序里通過長度限定為10的text變量來接收輸入的字符串,實際上已經把輸入字符串的長度限定在了10的範圍內;

2.冗餘的變量,在主函數里變量a可能原意是保存n的值(n的值在循環里被更改了),即使是這樣,在調用函數max_len時:“x=max_len(p,n); ”,傳入的第二個參數卻不是a,而是已經被改變了的n,這裡不再詳說,參考後邊的程序

3.動態空間的釋放,程序中使用指針數組來存儲各輸入字符串的首地址,在釋放這些指針時,需逐個指針進行釋放,具體操作見後邊的程序

4.函數返回值的設定,建議返回下標,這樣方便其它程序對最長字符串進行的可能的其它操作

下邊是按照程序要求重寫的程序,可以參考,思路是為每個字符串先分配額定的長度,C語言編寫,VC編譯:

#includestdio.h

#includestring.h

#includestdlib.h

int max_len(char *s[ ], int n)

{

    int i,index;

for(index=0,i=1;in;i++)

{

if(strlen(s[index])strlen(s[i])) index =i;

}

    return index;  //返回的是最長字符串在指針數組中的下標,方便在其他程序里使用

}

int main(void)

{

int i,n;

char *p[10];

printf(“輸入字符串個數(應小於10):”);

scanf(“%d”,n);

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

{

p[i] = (char *)malloc(sizeof(char)*100);  //為每個字符串分配額定空間:100

printf(“輸入第%d個字符串:”,i);

scanf(“%s”,p[i]);

}

printf(“最長字符串長度為%d\n”,strlen(p[max_len(p,n)]));//返回的是標號,再計算其對應字符串長度

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

{

free(p[i]);//逐個的釋放

}

return 0;

}

中國大學moocC語言進階里的一道題

#include stdio.hchar input1[100];//必須開全局變量!不然會有意外情況。char input2[100];int main() {

    char ch;

    long l1 = 0;

    long l2 = 0;

    while ((ch = getchar()) != ‘\n’) {//有空格字符的輸入

        input1[l1++] = ch;

    }

    while ((ch = getchar()) != ‘\n’) {

        input2[l2++] = ch;

    }

    int flag = 0;

    for (int i = 0; i  l2; i++) {

        for (int h = 0; h  l1; h++) {

            if (input1[h] != input2[i + h]) {

                break;

            }

            if (h == l1 – 1) {

                printf(“%d “, i);

                flag = 1;

            }

        }

    }

    if (!flag) {

        printf(“-1”);

    }

    return 0;

}

原創文章,作者:NFKD,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/144070.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
NFKD的頭像NFKD
上一篇 2024-10-24 15:26
下一篇 2024-10-24 15:26

相關推薦

  • 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

發表回復

登錄後才能評論