- 全國計算機等級考試真題匯編與專用題庫:二級C語言
- 全國計算機等級考試命題研究中心 未來教育教學與研究中心
- 5232字
- 2020-08-21 17:43:44
二、C語言程序設計的高頻考點特訓
(一)C語言慨述
【考點1】C語言基礎知識
1.C語言的構成
(1)源程序由函數構成,每個函數完成相對獨立的功能。
(2)每個源程序中必須有且只能有一個主函數,可以放在任何位置,但程序總是從主函數開始執行。
(3)函數體:在函數后面用一對花括號括起來的部分。
(4)每個語句以分號結束,但預處理命令、函數頭之后不能加分號。
(5)注釋:括在“/*”與“*/”之間,沒有空格,允許出現在程序的任何位置。
(6)預處理命令:以“#”開頭的語句。
2.C程序的生成過程
(1)C程序是先由源文件經編譯生成目標文件,然后經過連接生成可執行文件。
(2)源程序的擴展名為.c,目標程序的擴展名為.obj,可執行程序的擴展名為.exe。
【考點2】常量、變量和數據類型
1.標識符
(1)標識符的命名規則。
●只能由字母、數字或下劃線組成。
●第一個字符必須是字母或下劃線,不能是數字。
●區分字母的大小寫。
(2)標識符的分類。
C語言的標識符可以分為3類。
①關鍵字:C語言規定的專用的標識符,它們有著固定的含義,不能更改。
②預定義標識符:和“關鍵字”一樣也有特定的含義。
③用戶標識符:由用戶根據需要定義的標識符。
●命名應注意做到“見名知義”。
●不能與關鍵字相同。
2.常量
定義:在程序運行中,其值不能被改變的量。
常量的類型:整型常量、實型常量、字符常量、字符串常量和符號常量。
(1)整型常量。
①表示形式:十進制整型常量、八進制整型常量和十六進制整型常量。
②書寫形式。
●十進制整型常量:基本數字范圍為0~9。
●八進制整型常量:以0開頭,基本數字范圍為0~7。
●十六進制整型常量:以0x開頭,基本數字范圍為0~15,其中10~15寫為A~F或a~f。
(2)實型常量。
①表示形式:小數形式和指數形式。
②書寫形式。
●十進制小數形式:小數點兩邊必須有數字。
●指數形式:e前必須有數字,e后必須為整數。
(3)字符常量。
一個字符常量代表ASCII碼字符集里的一個字符,在程序中用單撇號括起來,區分大小寫。
特殊的字符常量:即轉義字符。其中“\”是轉義的意思,后面跟不同的字符表示不同的意思。
●\n:換行。
●\\:反斜杠字符“\”。
●\ddd:1~3位八進制數所代表的一個ASCII字符。
●\xhh:1~2位十六進制數所代表的一個ASCII字符。
(4)字符串常量。
字符串常量是用雙撇號括起來的一個或一串字符。
(5)符號常量(無)。
符號常量是由預處理命令“#define”定義的常量,在C程序中可用標識符代表一個常量。
3.變量
定義:值可以改變的量。
●變量要有變量名,在使用前必須先定義。
●在內存中占據一定的存儲單元,不同類型的變量其存儲單元的大小不同。
●存儲單元里存放的是該變量的值。
變量的類型:整型變量、實型變量、字符變量。
(1)整型變量。
①分類:基本型(int)、短整型(short int 或short)、長整型(long int 或 long)和無符號型(unsigned int,unsigned short,unsigned long)。
②數值范圍。
整型[signed]int,占16位;短整型[signed]short[int],占16位;長整型[signed]long[int],占32位;無符號整型 unsigned[int],占16位;無符號短整型 unsigned short[int],占16位;無符號長整型unsigned long[int],占32位。
(2)實型變量。
①分類:單精度類型(float)和雙精度類型(double)。
②定義方法:float a;,double m;。
③所占字節:float 型在內存中占4個字節(32位),double型占8個字節(64位)。單精度實數提供7位有效數字,雙精度實數提供15~16位有效數字。
④實型常量:不分float型和double型,一個實型常量可以賦給一個float型或double型變量,但變量根據其自身類型截取實型常量中相應的有效數字。
(3)字符變量。
①作用:用來存放字符常量。
②定義:用關鍵字char定義,每個字符變量中只能存放一個字符。
③定義形式:char cr1,cr2;。
④賦值:cr1='m',cr2='n';。
⑤存儲方法:存儲字符對應的ASCII碼到內存單元中。
●字符型數據與整型數據之間可以通用,一個字符能用字符的形式輸出,也能用整數的形式輸出。
●字符數據進行算術運算,相當于對它們的ASCII碼進行運算。
4.類型的自動轉換和強制轉換
(1)類型的自動轉換。
①當同一表達式中各數據的類型不同時,編譯程序會自動把它們轉變成同一類型后再進行計算。
②轉換優先級為:char <int <float <double,即左邊級別“低”的類型向右邊轉換。
③在做賦值運算時,若賦值號左右兩邊的類型不同,則賦值號右邊的類型向左邊的類型轉換;當右邊的類型高于左邊的類型時,則在轉換時對右邊的數據進行截取。
(2)類型的強制轉換。
表示形式:(類型)(表達式);
真題演練
(1)以下敘述中錯誤的是( )。
A)使用3種基本結構構成的程序只能解決簡單問題
B)結構化程序由順序、分支、循環3種基本結構組成
C)C語言是一種結構化程序設計語言
D)結構化程序設計提倡模塊化的設計方法
(2)以下關于結構化程序設計的敘述中正確的是( )。
A)結構化程序使用GOTO語句會很便捷
B)在C語言中,程序的模塊化是利用函數實現的
C)一個結構化程序必須同時由順序、分支、循環3種結構組成
D)由3種基本結構構成的程序只能解決小規模的問題
(3)計算機能直接執行的程序是( )。
A)源程序
B)目標程序
C)匯編程序
D)可執行程序
(4)以下選項中關于程序模塊化的敘述錯誤的是( )。
A)可采用自底向上、逐步細化的設計方法把若干獨立模塊組裝成所要求的程序
B)把程序分成若干相對獨立、功能單一的模塊,可便于重復使用這些模塊
C)把程序分成若干相對獨立的模塊,可便于編碼和調試
D)可采用自頂向下、逐步細化的設計方法把若干獨立模塊組裝成所要求的程序
(5)以下敘述中錯誤的是( )。
A)C語言中的每條可執行語句和非執行語句最終都將被轉換成二進制的機器指令
B)C程序經過編譯、連接步驟之后才能形成一個真正可執行的二進制機器指令文件
C)用C語言編寫的程序稱為源程序,它以ASCII代碼形式存放在一個文本文件中
D)C語言源程序經編譯后生成后綴為.obj的目標程序
(6)下列敘述中錯誤的是( )。
A)C程序可以由多個程序文件組成
B)一個C語言程序只能實現一種算法
C)C程序可以由一個或多個函數組成
D)一個C函數可以單獨作為一個C程序文件存在
(7)以下4個程序中,完全正確的是( )。
A)#include <stdio.h>
main();
{/*/programming /*/printf("programming! \n");}
B)#include <stdio.h>
main()
{/* programming */printf("programming! \n");}
C)#include <stdio.h>
main()
{/*/*programming*/*/printf("programming! \n");}
D)include <stdio.h>
main()
{/* programming */printf("programming! \n");}
(8)對于一個正常運行的 C 程序,以下敘述中正確的是( )。
A)程序的執行總是從main函數開始,在程序的最后一個函數中結束
B)程序的執行總是從程序的第一個函數開始,在main函數結束
C)程序的執行總是從main函數開始
D)程序的執行總是從程序的第一個函數開始,在程序的最后一個函數中結束
(9)以下敘述中正確的是( )。
A)C語言規定必須用main作為主函數名,程序將從此開始執行
B)可以在程序中由用戶指定任意一個函數作為主函數,程序將從此開始執行
C)C語言程序將從源程序中的第一個函數開始執行
D)main的各種大小寫拼寫形式都可以作為主函數名,如MAIN、Main等
(10)以下敘述中錯誤的是( )。
A)算法正確的程序可以有零個輸入
B)算法正確的程序最終一定會結束
C)算法正確的程序可以有零個輸出
D)算法正確的程序對于相同的輸入一定有相同的結果
(11)以下敘述中正確的是( )。
A)C語句必須在一行內寫完
B)C程序中的每一行只能寫一條語句
C)C語言程序中的注釋必須與語句寫在同一行
D)簡單C語句必須以分號結束
(12)以下敘述中正確的是( )。
A)用C語言編寫的程序只能放在一個程序文件中
B)C程序書寫格式嚴格,要求一行內只能寫一個語句
C)C程序中的注釋只能出現在程序的開始位置和語句的后面
D)C程序書寫格式自由,一個語句可以寫在多行上
(13)以下關于C語言的敘述中正確的是( )。
A)C語言的數值常量中夾帶空格不影響常量值的正確表示
B)C語言中的變量可以在使用之前的任何位置進行定義
C)在C語言算術表達式的書寫中,運算符兩側的運算數類型必須一致
D)C語言中的注釋不可以夾在變量名或關鍵字的中間
(14)下列敘述中錯誤的是( )。
A)C程序可以由多個程序文件組成
B)一個C語言程序只能實現一種算法
C)C程序可以由一個或多個函數組成
D)一個C函數可以單獨作為一個C程序文件存在
(15)C語言源程序名的后綴是( )。
A).C
B).exe
C).obj
D).cp
(16)下列敘述中正確的是( )。
A)C程序中所有函數之間都可以相互調用
B)C程序中main函數的位置是固定的
C)在C程序的函數中不能定義另一個函數
D)每個C程序文件中都必須要有一個main函數
(17)以下敘述中正確的是( )。
A)C語言函數可以嵌套調用,例如:fun(fun(x))
B)C語言程序是由過程和函數組成的
C)C語言函數不可以單獨編譯
D)C語言中除了main函數外,其他函數不可作為單獨文件形式存在
(18)有以下程序:
#include <stdio.h>
main()
{
int a=0,b=0;
/* 給a賦值 a=10;b=20;給b賦值 */
printf("a+b=%d\n",a+b);
/* 輸出計算結果 */
}
程序的運行結果是( )。
A)出錯
B)a+b=30
C)a+b=10
D)a+b=0
(19)以下敘述中錯誤的是( )。
A)C程序在運行過程中的所有計算都以二進制方式進行
B)C程序在運行過程中的所有計算都以十進制方式進行
C)所有C程序都需要編譯鏈接無誤后才能運行
D)C程序中字符變量存放的是字符的ASCII碼值
(20)以下選項中不合法的標識符是( )。
A)&a
B)FOR
C)print
D)_00
(21)按照C語言規定的用戶標識符命名規則,不能出現在標識符中的是( )。
A)大寫字母
B)下劃線
C)數字字符
D)連接符
(22)以下選項中,能用作用戶標識符的是( )。
A)_0_
B)8_8
C)void
D)unsigned
(23)下列定義變量的語句中錯誤的是( )。
A)int _int;
B)double int_;
C)char For;
D)float US$;
(24)以下選項中,不合法的C語言用戶標識符是( )。
A)a_b
B)AaBc
C)a--b
D)_1
(25)閱讀以下程序:
#include <stdio.h>
main()
{ int case ;
float printF;
printf("請輸入2個數:");
scanf("%d %f",&case,&printF);
printf("%d %f\n",case,printF);
}
該程序在編譯時產生錯誤,其出錯原因是( )。
A)定義語句出錯,case是關鍵字,不能用作用戶自定義標識符
B)定義語句出錯,printF不能用作用戶自定義標識符
C)定義語句無錯,scanf不能作為輸入函數使用
D)定義語句無錯,printf不能輸出case的值
(26)以下選項中合法的標識符是( )。
A)1__
B)1-1
C)1_1
D)_11
(27)以下選項中能表示合法常量的是( )。
A)1,200
B)1.5E2.0
C)'\'
D)"\007"
(28)以下選項中不能作為C語言合法常量的是( )。
A)0.1e+6
B)'cd'
C)"\a"
D)'\011'
(29)以下選項中關于C語言常量的敘述錯誤的是( )。
A)經常被使用的變量可以定義成常量
B)常量分為整型常量、實型常量、字符常量和字符串常量
C)常量可分為數值型常量和非數值型常量
D)所謂常量,是指在程序運行過程中,其值不能被改變的量
(30)以下不合法的數值常量是( )。
A)8.0E0.5
B)1e1
C)011
D)0xabcd
(31)以下選項中不能用作C程序合法常量的是( )。
A)123
B)'\123'
C)1,234
D)"\x7D"
(32)以下選項中,值為1的表達式是( )。
A)1-'0'
B)1-'\0'
C)'1'-0
D)'\0'-'0'
(33)以下選項中,合法的一組C語言數值常量是( )。
A)12.0Xa23 4.5e0
B)028.5e-3-0xf
C).177 4e1.5 0abc
D)0x8A 10,000 3.e5
(34)以下選項中能用作數據常量的是( )。
A)115L
B)0118
C)1.5e1.5
D)o115
(35)C源程序中不能表示的數制是( )。
A)十六進制
B)八進制
C)十進制
D)二進制
(36)以下選項中可用作C程序合法實數的是( )。
A)3.0e0.2
B).1e0
C)E9
D)9.12E
(37)在下列定義語句中,編譯時會出現編譯錯誤的是( )。
A)char a='\x2d';
B)char a='\n';
C)char a='a';
D)char a="aa";
(38)以下不合法的字符常量是( )。
A)'\\'
B)'\"'
C)'\018'
D)'\xcc'
(39)已知大寫字母 A 的 ASCII 碼值是65,小寫字母 a 的ASCII碼值是97。下列不能將變量c中的大寫字母轉換為對應小寫字母的語句是( )。
A)c=('A'+c)%26-'a'
B)c=c+32
C)c=c-'A'+'a'
D)c=(c-'A')%26+'a'
(40)以下能正確定義字符串的語句是( )。
A)char str="\x43";
B)char str[]="\0";
C)char str='';
D)char str[]={ '\064'};
(41)以下關于字符串的敘述中正確的是( )。
A)空串比空格打頭的字符串小
B)兩個字符串中的字符個數相同時才能進行字符串大小的比較
C)可以用關系運算符對字符串的大小進行比較
D)C語言中有字符串類型的常量和變量
(42)以下正確的字符串常量是( )。
A)"\\\"
B)'abc'
C)Olympic Games
D)""
(43)以下定義語句中正確的是( )。
A)int a=b=0;
B)char A=65+1,b='b';
C)float a=1,*b=&a,*c=&b;
D)double a=0.0; b=1.1;
(44)以下關于 C 語言數據類型使用的敘述中錯誤的是( )。
A)若要處理如“人員信息”等含有不同類型的相關數據,應自定義結構體類型
B)若要保存帶有多位小數的數據,可使用雙精度類型
C)若只處理“真”和“假”兩種邏輯值,應使用邏輯類型
D)整數類型表示的自然數是準確無誤差的
(45)有以下程序:
#include <stdio.h>
main()
{ int s,t,A=10; double B=6;
s=sizeof(A); t=sizeof(B);
printf("%d,%d\n",s,t);
}
在VC 6.0平臺上編譯運行,程序運行后的輸出結果是( )。
A)10,6
B)4,4
C)2,4
D)4,8
(46)有以下程序:
#include <stdio.h>
int fun1(double a)
{
return(int)(a*=a);
}
int fun2(double x,double y)
{
double a=0,b=0;
a=fun1(x);
b=fun1(y);
return(int)(a+b);
}
main()
{
double w;
w=fun2(1.1,2.0);
printf("%4.2f",w);
}
程序執行后的輸出結果是( )。
A)0.0
B)5
C)5.21
D)5.00
- ADOBE INDESIGN CS4標準培訓教材
- 全國職稱計算機考試專用教材:Internet應用
- 思科網絡技術學院教程CCNA Exploration:LAN交換和無線
- 全國職稱計算機考試講義·真題·預測三合一:中文Windows XP操作系統
- 金牌網管師(助理級)網吧網管
- 華為ICT大賽實踐賽云賽道真題解析
- 全國計算機等級考試一本通:二級Visual Basic
- 動畫制作(中級)
- 全國計算機等級考試一本通:二級Visual FoxPro
- 全國職稱計算機考試標準教材與專用題庫:Excel 2003中文電子表格
- 全國青少年CSP-J編程競賽真題解析(2025版)
- Scratch 編程競賽指南
- 全國職稱計算機考試專用教材:Word 2003中文字處理
- 國際注冊數據隱私安全專家認證(CDPSE):考試復習手冊
- 數據結構解題策略:大學程序設計教程與競賽訓練教材