c語言考題解析,c語言題目解答

本文目錄一覽:

C語言的一道計算結果分析試題,百思不得其解,大家分析下,謝了

2473CR

while((c=getchar())!=』\n』)

{

switch(c-『2』) {

case 0:

case 1:putchar(c+4); //第一次輸入c=『2』,c-‘2’=0,走到這裡,輸出c+4=’2’+4=’6’ 沒有break繼續下面case 2的語句 再輸出一次c+4=6 第四次輸入3,c-‘2’=1走到這裡,同第一次會輸出兩個c+4=『7』

case 2:putchar(c+4);break; //第二次輸入’4′ c-‘2’=2走到這裡,輸出c+4=’4’+4=’8’ 然後break

case 3:putchar(c+3);

default:putchar(c+2);break; //第三次輸入’7′ c-‘2’=5走到這裡,輸出c+2=’7’+2=’9’ 然後break

}

所以答案是A 668977

幾個常見的C語言面試題分析

一次去一個小公司面試,沒有太重視,當時由於工作甚忙,也沒作準備。他們給我的試卷有大量的題,規定一個小時必須做完,一看題量,嚇了一大跳,題有鏈表,有多維數組,有大量的程序閱讀,幸虧基本功還算紮實,未辱使命,差強完成。等到做到編程題時,才發現自己太長時間沒有寫過程序了,讓一些瑣碎的改BUG工作和代碼維護浪費了太多的精力。一直做下去,心裡暗暗吃驚,一個小時,這個題量如果是在剛畢業時,還是有可能完成的,工作幾年後,壓力漸小,寫程序基本都是拿來主義,對標準庫函數的原理把握和編程能力越來越退化。由於當時時間緊迫,所寫程序也不夠完善,過後又思考了一下,回到家後趕緊又對這些問題總結了一下。下面對面試中遇到的編程問題分析了一下。真是人在社會如江湖呀,學習是一刻也不能放鬆的事。稍一不慎,晚節不保不說,反而會陰溝裡翻船。

1.獲取路徑下的文件名

char * FindFileName(char * s)

{

int len;

char *tmp=NULL;

ASSERT(s != NULL);

for (len=strlen(s); len0;len–)

{

if((s[len]==’/’) ||(s[len]==’//’))

{

tmp = s[len+1];

break;

}

}

return tmp;

}

2.把整型轉化為字元型

char * i2a(int n, char *s)

{

int i, sign;

ASSERT(s != NULL);

if ((sign = n) 0)

{

n = -n; //轉為正數,利於取位

}

do

{

s[i++] = n % 10 + ‘0’;

}

while ((n /= 10) 0)

if (sign 0)

{

s[i++] = ‘-‘;

}

s[i] = ‘/0’;

reverse(s);

}

3.把字元型轉為整型

int a2i(char * s)

{

int i, n, sign;

ASSERT(s != NULL);

for (i = 0; s[i] == ‘ ‘; i++)

{

NULL; //如果字串前有空格,跳過所有空格

}

sign = (s[i] == ‘-‘) ?: -1 : 1;

if (s[i] == ‘+’ || s[i] == ‘-‘)

{

i++; //判斷是正整數串還是負整數串

}

for (n = 0; s[i] = ‘0’ s[i] = ‘9’; i++)

{

n = 10 * n + (s[i] – ‘0’);

}

return sign*n;

}

4.輸出字元串倒文,不能動態分配內存

char * reverse(char * s)

{

int c, i, j;

ASSERT(s != NULL);

for (i = 0, j = strlen(s) – 1; i j; i++, j–)

{

c = s[i];

s[i] = s[j];

s[j] = c;

}

return s;

}

5.查找子串是否存在

int strindex(char *str,char *searchstr)

{

int end, i, j;

ASSERT((str != NULL) (searchstr != NULL));

//計算結束位置

end = strlen(str) – strlen(searchstr);

if ( end 0 )

{

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

{

for ( j = i; str[j] == searchstr[j-i]; j++ )

{

if ( searchstr[j-i+1] == ‘/0’ ) /* 子字元串字結束 */

{

return i + 1; /* 找到了子字元串 */

}

}

}

}

return -1;

}

求高手解答C語言的一個試題,,最好帶上解釋,,謝謝~~~~~

#include

“stdio.h”

main()

{

int

a=45,b=40,c=50,d;

d=a30?b:c;

/*如果a30,則d=b,否則d=c.因為a=4530,所以d=b=40*/

switch(d)

/*d=40,直接跳到case

40*/

{

case

30

:

printf(“%d,”,a);

case

40

:

printf(“%d,”,b);

/*輸出”b,”,即”40,”.由於沒有break語句,所以繼續往下執行*/

case

50

:

printf(“%d,”,c);

/*輸出”c,”,即”50,”*/

default

:

printf(“#”);

/*輸出#*/

}

}

所以結果是:40,50,#

lz要注意在case

40和case

50的輸出語句中有一個逗號

C語言考試試題答案

1. 11,12.

2. { ,}, 變數聲明,函數體.

3. int,float,double.

4. 存儲空間.

5. 將10賦值給變數s.

6. ;

7. 1,0.

8. 高

C語言試題,那位大神幫忙給個答案

◆單選題 共(40 分)

1、在C語言中, char型數據在內存中的存儲形式是:___A___

A、補碼

B、反碼

C、原碼

D、ASCII碼

2、已知int i, x[3][4];則不能將x[1][1]的值賦給變數i的語句是___C___

A、i=*(*(x+1))

B、i=x[1][1]

C、i=*(*(x+1))

D、i=*(x[1]+1)

3、以下敘述正確的是__D____

A、在C程序中,main函數必須位於程序的最前面

B、C程序的每行中只能寫一條語句

C、C語言本身沒有輸入輸出語句

D、在對一個C程序進行編譯的過程中,可發現注釋中的拼寫錯誤

4、若x=2,y=3則x||y的結果是__B____

A、0

B、3

C、1

D、2

5、若有以下說明語句:char s=’\\\092′;則下面哪一項是正確的__B____

A、使s的值包含2個字元

B、說明語句不合法

C、使s的值包含6個字元

D、使s的值包含4個字元

6、一個C程序的執行是從_A_____

A、本程序的main函數開始,到main函數結束

B、本程序文件的第一個函數開始,到本程序文件的最後一個函數結束

C、本程序的main函數開始,到本程序文件的最後一個函數結束

D、本程序文件的第一個函數開始,到本程序main函數結束

7、已知int a[10];則對a數組元素的正確引用是______ 沒有正確的,AC相同,應該是選項有問題。

A、a[10]

B、a[3.5]

C、a[10]

D、a(5)

8、若希望當A的值為奇數時,表達式的值為”真”,A的值為偶數表達式的值為”假”。則以下不能滿足要求的表達式是___C___

A、A%2= =1

B、!(A%2 = =0)

C、!(A%2)

D、A%2

9、在C語言的if語句中,用作判斷的表達式為___B___

A、關係表達式

B、邏輯表達式

C、算術表達式

D、任意表達式

10、C語言程序由什麼組成?___C___

A、子程序

B、主程序和子程序

C、函數

D、過程

11、已知static int a[2][3]={2,4,6,8,10,12}; 正確表示數組元素地址的是___C___

A、*(a[1]+2)

B、a[1]+3

C、*(a+1)

D、a[0][0]

12、075的十進位寫法為___,十六進位寫法為___。 C

A、0x4b 0113

B、0165 117

C、61 0x3d

D、0x4b 61

13、在C語言中,字元型數據在內存中的存儲形式是__B____

A、原碼

B、補碼

C、反碼

D、ASCII碼

14、( )以下關於數組的描述正確的是 C

A、數組大小固定,但是可以有不同類型的數組元素

B、數組大小可變,但是所有數組元素的類型必須相同

C、數組大小固定,所有元素的類型必須相同

D、數組大小可變,可以有不同類型的數組元素

15、在C語言中,要求運算數必須是整型的運算符是__D___

A、/

B、++

C、!=

D、%

16、( A)若有以下定義:char s[20]= “programming”,*ps=s;則不能代表字元g的表達式是

A、ps+3

B、s[3]

C、ps[3]

D、ps+=3,*ps

17、(D )選擇正確的輸入語句( )。:(其中:char string[20];)使得string的內容為”I am student”. D

A、scanf(“%s”, string);

B、scanf(“%c”, string);

C、scanf(“%s”, string);

D、gets(string);

18、已知char b[5], *p=b;則正確的賦值語句是。__C____

A、b=」abcd」

B、*b=」abcd」;

C、p=」abcd」;

D、*p=」abcd」;

19、printf函數中用到格式符%5s,其中數字5表示輸出的字元串佔用5列。如果字元串長度大於5,則輸出按方式___B___

A、從左起輸出該字串,右補空格

B、按原字元長從左向右全部輸出

C、右對齊輸出該字串,左補空格

D、輸出錯誤信息

20、75的十六進位寫法為___,八進位寫法為______ C

A、0x4b 0113

B、0165 117

C、61 0x3d

D、0x4b 61

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

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
HQLZ的頭像HQLZ
上一篇 2024-10-04 00:17
下一篇 2024-10-04 00:17

相關推薦

  • 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

發表回復

登錄後才能評論