c语言综合模拟测试题答案,【C语言指针模拟测试题_答案】
1 C 語言指針部分模擬測試題 一 選擇題 語句 int a 10 point p B y p C y p p D p y p 語句 char str visual C char p str 則 p 的值為 B A visual C B str 的首地址 C n D v 設有說明語句 char s student Teacher Father Month ps s 2 執行語句 printf c s c s 1 ps ps 則輸出為 A A T Father F B Teaher F Father C Teacher Father Father D 語法錯 無輸出 下列說明或賦值語句 不正確的是 C A char p p Visual C B char p1 12 v i s u C char p2 12 p2 Visual C D char p3 Visual 現有 int b 3 4 p p int b 若要指針 p 指向 b 2 3 以下正 確的是 B A p 3 4 3 B p 2 4 3 C p 3 4 3 sizeof int D p 2 4 3 sizeof int 語句 int i p1 p2 以下語句語法不正確的是 B A p1 B p2 C p2 D i 0 x23 如下圖結構體說明和變量的定義 p 指向 a q 指向變量 b 下面不能把 結點 b 連接到結點 a 之后的語句是 B a b datanextdatanext A a next q B p next C p next D p next q 下面正確的語句是 A A int a 3 4 p 4 p a B int a 3 4 p 4 p a C int a 3 4 p p a D int a 3 4 p p a 以 追加 方式打開文本文件 a aa dat 下列語句中哪一個是正確的 是 B A fp fopen a aa dat ab B fp fopen a aa dat a C fp fopen a aa dat r D fp fopen a aa dat w p q 2 設有函數定義 int f1 void return 100 150 調用函數 f1 時 B A 函數返回值 100B 函數返回值 150 C 函數返回二個值 100 和 150D 語句 return 100 150 語法錯 數組作為函數的形參時 把數組名作為實參 傳遞給函數的是 A A 該數組的首地址B 該數組的元素個數 C 該數組中的各元素值D 該數組的大小 執行以下語句序列 則 A enum Sun Mon Tue Wed Thu Fri Sat c1 c2 A c1 Mon B printf d c1 A 輸出 1 B 輸出 2C 輸出 0 D B 行語法錯 執行以下語句序列 則 C char p1 Speaking A char p2 English B char p3 a piece of cake C char str p1 p2 p3 D printf c str 0 1 A 輸出 EnglishB 輸出 Speaking C 輸出 pD D 行語法錯 二 填空題 1 2 2 分 4 分 下面程序的運行結果為 16 2 void main static int a 3 2 12 14 16 1 2 int p a 1 printf d n p 1 printf d n p 3 2 2 2 分 4 分 若有以下程序段 則 b 2 1 的值為 11 p 1 1 的值為 7 static int b 3 2 1 3 5 7 9 11 int p 2 p b 3 1 4 分 4 分 下面程序的運行結果為 26 include 3 void sub int x int i int n if n i sub x i 3 n x n void main int x 0 sub printf d x 4 2 2 分 4 分 以下程序運行結果為 Hello world ello world void main char p q char str Hello World n q p str p printf s n q printf s n p 5 1 4 分 4 分 以下程序運行結果是 121232343454 void main short ar 5 1 2 3 4 5 short par int i for i 0 i 4 i printf d d d ar i par i ar i 6 2 2 分 4 分 以下程序運行結果是 200 100 void swap2 int x int y int t t x x y y t void main int a 100 b 200 4 swap2 printf d t d a b 7 3 2 分 6 分 void fun int n int s int f1 f2 if n 1 n 2 s 1 else fun n 1 fun n 2 s 2 f1 f2 1 printf d t d f1 f2 void main int x fun 4 printf x d n x 程序輸出的第一行是 1 1 第二行是 4 1 最后一行是 x 10 8 3 2 分 6 分 void f int q1 int q2 int q3 q3 q1 q2 void main int i j a 3 3 1 1 p1 a 0 p2 a 0 1 p3 a 0 2 for i 2 i 9 i f p1 p2 p3 for i 0 i 3 i for j 0 j 3 j printf d a i i printf n 程序輸出的第一行是 111 第二行是 555 最后一行是 343434 9 2 3 分 6 分 int f int x int y return x y void main int i j fun int int fun f for i 1 idata for p p next p NULL p p next if m p data m p data return m 2 3 2分 6分 以下程序求二維數組的平均值 float average float p 4 int n float sum 0 for int i 0 i n i for j 0 j2 即將鏈表頭當鏈表尾 鏈表尾當鏈表頭 如下圖 An 0 head A1 L A2 6 提示 本算法的思想是 逐個地把 L 的當前結點 q 插入新的鏈表頭部 p 為新表表 頭 void reverse NODE L p L next q p next L next NULL while q NULL p next L L p p q q q next p next L L p 4 3 2 分 6 分 以下程序實現鏈表 L 中刪除第 i 個元素 設 1 i 元素個數 void Delete NODE L int i NODE p q if i 1 q L L L next 刪除第一個元素 else p L while i 1 p p next q p next p next q next 刪除第 i 個元素 free q 5 4 2 5 分 10 分 設鏈表上結點的數據結構定義如下 struct PNODE int x PNODE next 設已建立了一條鏈表 h 為鏈表首指針 函數 DelAdd 的功能為 若鏈表上 能找到結點的 x 值為 value 則從鏈表上刪除該結點 假設鏈表上各個結點值是 A1 0An L An 1 7 不同的 否則構造一個新結點 其 x 的值為 value 并將新結點插入鏈尾 該 函數要返回鏈表的首指針 PNODE DelAdd PNODE h int value PNODE p1 p2 int flag 0 值為 時 表示已刪除值為 value 的結點 p1 h while p1 if p1 h h p1 next free p1 else p2 next p1 next free p1 else p2 p1 p1 p1 next if flag 0 p1 PNODE malloc sizeof PNODE p1 x value p1 next 0 if h 0 h p1 else p2 next p1 return h
展開閱讀全文
總結
以上是生活随笔為你收集整理的c语言综合模拟测试题答案,【C语言指针模拟测试题_答案】的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: csgo如何打开控制台
- 下一篇: 无线鼠标反应不灵敏的解决措施(无线鼠标反